NUnit cho C # so sánh với cơ sở Test Test được tích hợp với Visual Studio như thế nào


12

Tôi cần phải làm việc trong một nhóm để phát triển ứng dụng Desktop quy mô trung bình được phát triển bằng C # .NET. Trước đó, tôi chưa áp dụng Phát triển hướng thử nghiệm và thử nghiệm đơn vị. Tôi biết rằng có tồn tại nhiều công cụ và khung cho các ứng dụng C # Thử nghiệm đơn vị. Đến bây giờ, tôi biết về Nunit và cơ sở Thử nghiệm Đơn vị được tích hợp với Visual Studio.

Tôi muốn biết, làm thế nào để hai so sánh?

Câu trả lời:


14

Có một số chồng chéo giữa hai cho chắc chắn. NUnit là tiền thân, và kết quả là trưởng thành hơn. Khung kiểm tra đơn vị C # trẻ hơn, nhưng được tích hợp với Visual Studio.

Tôi đến từ thế giới Java nơi JUnit là vua (có những người khác, nhưng không phổ biến) và NUnit 2.5.x thực sự phù hợp với cách hoạt động của JUnit 4. Trong thực tế, nó hoạt động tốt hơn nhiều so với đối tác Java.

Theo như định nghĩa kiểm tra, tôi ủng hộ NUnit. Chắc chắn MS Test có các thuộc tính tương tự (nhưng khác nhau) mà bạn áp dụng cho các lớp của mình, nhưng tôi tin rằng nó thiếu một số tính năng có thể giúp bạn tiết kiệm một số công việc đối với một số loại thử nghiệm. Bạn có thể muốn kiểm tra một cuộc thảo luận tương tự trên StackOverflow .

Tôi thích mô hình xác nhận mới được tích hợp trong NUnit (nó đang sử dụng các xác nhận kiểu Hamcrest ) vì cả hai đều dễ đọc và dễ mở rộng.

  • NUnit sẽ có sự hỗ trợ của bên thứ 3 tốt hơn, MS Test sẽ tích hợp tốt hơn (ngoài hộp).
  • NUnit sẽ có tính linh hoạt và khả năng mở rộng tốt hơn, MS Test sẽ bị ảnh hưởng trong lĩnh vực này.
  • Cả hai đều chạy thử nghiệm đơn vị và kiểm tra kết quả của bạn, cả hai sẽ hoạt động cho TDD.

3

Sự khác biệt thực sự duy nhất tôi nhận thấy khi tôi phải tạo một tập lệnh xây dựng để chạy trên máy chủ MSBUILD chuyên dụng TFS, thiết lập nUnit và nhận kết quả kiểm tra nUnit là một nỗi đau thực sự, thiết lập và nhận kết quả cho MSTest thật dễ dàng.

Ngoài ra, có một vấn đề với Resharper khi MSTest test không thể chạy từ người chạy thử. Trong các phiên bản mới hơn, điều này đã được sửa, vì vậy nếu bạn có một phiên bản Resharper cũ thì nó vẫn có thể là một vấn đề.

Bài đăng này từ Roy Oshereve vẫn là một tổng quan tốt đẹp.

ps: Đã xóa câu trả lời khác của tôi, không hữu ích chút nào, tôi xin lỗi vì câu trả lời đó.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.