2012-08-29 23 views
5

Tôi đang sử dụng mocha để kiểm tra ứng dụng node.js của mình.Làm cách nào để sắp xếp các tệp đặc tả của tôi?

Tôi nhận thấy rằng các tệp spec của tôi ngày càng lớn hơn theo thời gian. Có bất kỳ mẫu nào để tổ chức các tệp thử nghiệm (ví dụ: một tệp thông số cho mỗi thử nghiệm) không? Hoặc có các khuôn khổ khác trên đầu trang của mocha để giúp tôi cấu trúc các bài kiểm tra? Hoặc bạn có làm trước các khuôn khổ kiểm tra khác vì lý do đó không?

Trả lời

1

Tệp thử nghiệm/thông số kỹ thuật lớn có xu hướng có nghĩa là mã đang được thử nghiệm có thể đang hoạt động quá nhiều. Tuy nhiên, đây không phải là trường hợp thường xuyên, mã kiểm tra của bạn sẽ luôn luôn cân nhắc mã đang được kiểm tra, nhưng nếu bạn thấy khó quản lý mã này có thể là dấu hiệu.

Tôi có xu hướng nhóm các bài kiểm tra dựa trên chức năng. Hãy tưởng tượng nếu chúng tôi có example.js, tôi mong đợi example.tests.js để bắt đầu.

Thay vì một thông số được gọi là ExampleSpec Tôi có xu hướng có nhiều thông số kỹ thuật/thử nghiệm dựa trên các bối cảnh khác nhau. Ví dụ: tôi có thể có EmptyExample, ErrorExampleDefaultExample có các điều khoản trước khác. Nếu chúng trở nên quá lớn, bạn có hoặc không có trừu tượng, hoặc sau đó nên suy nghĩ về việc tách các tập tin ra. Vì vậy, bạn có thể kết thúc với cấu trúc thư mục như:

 
    specs/ 
     Example/ 
      EmptyExample.js 
      ErrorExample.js 
      DefaultExample.js 

Để bắt đầu, mặc dù một tệp thử nghiệm/tệp sản xuất phải là điểm bắt đầu. Chỉ tách biệt nếu cần.

+0

thì làm cách nào để chạy? Tôi muốn 'mocha testAll.js'. testAll.js sẽ bao gồm tất cả các bài kiểm tra phụ. Làm thế nào để đạt được điều này? –

+0

Tôi có cùng một câu hỏi về cách bao gồm các bài kiểm tra phụ. Cho đến nay có vẻ như bạn cần phải yêu cầu mocha và sử dụng nó theo chương trình để bao gồm các bài kiểm tra khác mà không phá vỡ mọi thứ. Hoặc là hoặc sử dụng --recursive trên dòng lệnh để nhận tất cả các tập tin. –

+0

@ NicolasS.Xu thực sự trả lời trễ nhưng tất cả các thông số kỹ thuật của bạn có thể (phải không?) Là các mô-đun commonjs mà bạn yêu cầu vào một 'index.js' cấp thư mục con thực sự gọi thông số kỹ thuật của bạn. Nó hoạt động tốt cùng với các kịch bản lệnh npm. –

Các vấn đề liên quan