- Học Vue
-
Hệ sinh thái
Hỗ trợ
Công cụ
Thư viện chính thức
Tin tức
Tài nguyên
- Đội ngũ
- Hỗ trợ Vue
- Ngôn ngữ
Hướng dẫn
Khái niệm cơ bản
- Cài đặt
- Giới thiệu
- Đối tượng Vue
- Cú pháp template
- Computed property và watcher
- Binding cho class và style
- Render theo điều kiện
- Render danh sách
- Xử lí sự kiện
- Ràng buộc form input
- Cơ bản về component
Components In-Depth
- Đăng kí Component
- Props
- Custom Events
- Slots
- Dynamic & Async Components
- Handling Edge Cases
Hiệu ứng chuyển động
- Transition cho enter/leave & danh sách
- Transition cho trạng thái
Tái sử dụng & kết hợp
- Mixin
- Directive tùy biến
- Các hàm render & JSX
- Plugin
- Filter
Công cụ
- Triển khai cho môi trường production
- Single File Components
- Unit test
- TypeScript Support
Mở rộng quy mô ứng dụng
- Routing
- Quản lí trạng thái
- Render ở phía server
Bên trong Vue
- Reactivity in Depth
Thông tin thêm
- Comparison with Other Frameworks
- Join the Vue.js Community!
- Đội ngũ
Unit test
Cài đặt
Để thực hiện unit test với Vue, bạn có thể sử dụng bất kì công cụ kiểm thử nào tương thích với hệ thống xây dựng dựa trên module. Tuy nhiên, nếu bạn cần một lời khuyên cụ thể thì chúng tôi khuyến khích sử dụng Karma. Karma có rất nhiều plugin, bao gồm các plugin cung cấp các tính năng hỗ trợ Webpack và Browserify. Để tìm hiểu thông tin cài đặt Karma và các plugin này, hãy xem các tài liệu tương ứng. Bạn cũng có thể bắt đầu bằng cách tham khảo các ví dụ về cấu hình dành cho Webpack và Browserify.
Các assert đơn giản
Bạn không cần phải làm gì đặc biệt để cho component có thể test được. Chỉ cần export
các tùy chọn thô:
<template> |
sau đó import
Vue và component, thế là bạn đã có thể thực hiện các assertion thông dụng:
// Import Vue và component cần test |
Viết component có thể test được
Kết quả render của một component được quyết định phần lớn là bởi các props
nó nhận được. Nếu kết quả render của component chỉ phụ thuộc vào props, việc test sẽ trở nên rất dễ dàng, tương tự như việc kiểm tra giá trị trả về của một hàm thuần (pure function) với các tham số khác nhau. Thử lấy một ví dụ đơn giản:
<template> |
Bạn có thể kiểm tra kết quả render với các prop khác nhau của component này bằng cách sử dụng tùy chọn propsData
:
import Vue from 'vue' |
Assert cập nhật không đồng bộ
Do Vue thực hiện cập nhật DOM một cách không đồng bộ, đối với các thay đổi trên DOM xảy ra do thay đổi state, bạn sẽ phải thực hiện assert trong hàm callback Vue.nextTick
:
// Kiểm tra HTML được tạo ra sau khi cập nhật state |
Chúng tôi cũng đang lên kế hoạch thực hiện một bộ sưu tập các công cụ/hàm trợ giúp (helper) để giúp cho việc render component với các điều kiện khác nhau (ví dụ render dạng nông – shallow render, lờ đi component con) và assert output được dễ dàng hơn.
Để biết thêm thông tin chi tiết về unit testinhg trong Vue, các bạn hãy xem qua vue-test-utils và bài viết về unit testing Vue component trong cookbook.