2013-06-05 41 views
7

Tôi mới dùng thử đơn vị bằng cách sử dụng Mocha & should.js. Tôi đang sử dụng BDD của Mocha để kiểm tra ứng dụng của tôi. Ứng dụng tôi đang thử nghiệm có các thành phần khác nhau như tài khoản, sản phẩm & đơn đặt hàng. Trước khi chuyển mã vào kho git, tôi muốn kiểm tra tất cả các khía cạnh của ứng dụng. Tôi đã thử nghiệm các tập tin khác nhau cho tất cả các thành phần. Ví dụ: account.js cho tài khoản, order.js cho đơn đặt hàng &, v.v.Tổ chức thử nghiệm bằng cách sử dụng Mocha & Should.js

Tôi muốn kiểm tra tất cả các thành phần đối với tài khoản thử nghiệm tạm thời. Vì vậy, các dòng chảy là:

  1. Tạo tài khoản thử nghiệm
  2. Kiểm tra tất cả các chức năng liên quan đến tài khoản (cập nhật hồ sơ, thay đổi mật khẩu vv)
  3. Kiểm tra tất cả các chức năng của sản phẩm của tài khoản
  4. Kiểm tra tất cả các chức năng của tài khoản của đặt hàng
  5. Xóa tài khoản thử nghiệm & tất cả thông tin liên quan đến nó

câu hỏi của tôi là làm cách nào để đảm bảo tài khoản tạm thời được tạo trước khi thực hiện các thử nghiệm khác?

Vì tôi đã kiểm tra các trường hợp trong tệp khác nhau làm cách nào để đảm bảo chúng được thực hiện theo thứ tự như đã đề cập ở trên? Có cách nào khác tốt hơn để kiểm tra ứng dụng không?

Cảm ơn.

Trả lời

7

Các bài kiểm tra đơn vị của bạn phải độc lập: việc thực hiện một bài kiểm tra không nên ảnh hưởng đến việc thi hành các bài thi khác. Sử dụng Mocha, tôi thực hiện việc này bằng cách có mọi tệp thử nghiệm require một tệp tiện ích có chức năng beforeEach sẽ xóa cơ sở dữ liệu, thiết lập kết nối, v.v ... cho mọi thử nghiệm đơn vị. Ngoài ra còn có chức năng afterEach làm sạch và ngắt kết nối sau mỗi lần kiểm tra đơn vị.

Nếu mọi thử nghiệm đơn vị mà bạn sẽ chạy yêu cầu phải có tài khoản thử nghiệm, bạn có thể đặt tài khoản thử nghiệm ở chức năng beforeEach cấp cao nhất tương tự. Nếu không, bạn có thể thiết lập tài khoản thử nghiệm ở một hàm beforeEach trong các khối Mocha describe mong muốn.