2008-12-16 35 views
9

Tôi đang sử dụng NUnit để kiểm tra mã C# của mình và cho đến nay vẫn duy trì kiểm tra đơn vị (chạy nhanh) và thử nghiệm tích hợp (chạy dài hơn) riêng biệt và trong các tệp dự án riêng biệt. Tôi sử dụng NUnit để thực hiện cả các bài kiểm tra đơn vị và các bài kiểm tra tích hợp. Tôi chỉ chú ý đến số category attribute mà NUnit cung cấp, để kiểm tra có thể được phân loại. Điều này đặt ra câu hỏi, tôi nên trộn chúng lại với nhau và chỉ cần sử dụng thuộc tính thể loại để phân biệt giữa chúng?Tôi có nên trộn các bài kiểm tra UnitTests và tích hợp của mình trong cùng một dự án không?

Trả lời

0

Tôi sẽ tiếp tục với bất kỳ phương pháp nào bạn hiện đang sử dụng. Đó là điều quan trọng hơn, và bạn sẽ không muốn phải sửa lại toàn bộ phương pháp thử nghiệm của mình.

+0

nó chỉ là một "ý kiến" cho đến khi các bài kiểm tra tích hợp yêu cầu triển khai đặc biệt, thiết lập và/hoặc xé xuống, sau đó nó trở thành "điều cần thiết" ;-) –

+0

, nhưng Steven có một điểm. Hai loại kiểm tra có thể có các yêu cầu khác nhau. Và hai hội đồng vs người ta không nên tạo ra nhiều khác biệt ... – Pedro

7

nếu nó không phải là quá khó khăn để tách họ, làm như vậy tại

kiểm tra đơn vị nên chạy sớm và thường xuyên (ví dụ như mỗi khi bạn thay đổi một cái gì đó, trước khi check-in, sau khi check-in), và nên hoàn thành trong một khoảng thời gian ngắn.

thử nghiệm hội nhập nên chạy theo định kỳ (hàng ngày, ví dụ) nhưng có thể mất thời gian và nguồn lực đáng kể để hoàn thành

do đó nó là tốt nhất để giữ cho chúng được tách

1

tôi thấy rằng việc sử dụng các dự án riêng biệt cho kiểm tra đơn vị và các bài kiểm tra tích hợp có xu hướng tạo ra quá nhiều hiện vật cấp cao nhất trong các dự án. Mặc dù chúng tôi là TDD và tất cả, tôi vẫn nghĩ rằng mã đang được phát triển nên xứng đáng ít nhất một nửa mức cao nhất trong cấu trúc dự án của tôi.

1

tách riêng chúng nếu có thể, vì các thử nghiệm tích hợp thường mất nhiều thời gian hơn so với Kiểm tra đơn vị. Có thể dự án của bạn phát triển và bạn kết thúc với rất nhiều bài kiểm tra, tất cả sẽ mất một khoảng thời gian ngắn - ngoại trừ các bài kiểm tra tích hợp - và bạn muốn chạy UnitTests của bạn thường xuyên nhất có thể ...

0

Tôi không nghĩ rằng nó thực sự quan trọng mà nhiều nhưng tách chúng âm thanh như một ý tưởng tốt hơn, kể từ khi cô lập, tự động hóa sẽ dễ dàng hơn. Và tính năng danh mục là tốt nhưng không tốt từ quan điểm khả năng sử dụng.

0

Động lực ban đầu đằng sau [Danh mục] là giải quyết vấn đề bạn đề cập. Nó cũng được thiết kế để tạo ra các bộ thử nghiệm rộng hơn nhưng đó là những gì bạn đang làm.

Hãy cẩn thận với [Danh mục]. Không phải tất cả những người chạy thử nghiệm đều hỗ trợ nó giống như cách mà NUnit gui thực hiện (hoặc đã làm, tôi đã không nâng cấp trong một thời gian). Trong quá khứ, một số vận động viên sẽ bỏ qua thuộc tính nếu nó nằm trong lớp hoặc chỉ bỏ qua tất cả. Hầu hết dường như làm việc ngay bây giờ.

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