2010-03-11 2 views
11

Với khung công tác mà Visual Studio 2008 có, tôi có thiếu thứ gì tuyệt vời bằng cách KHÔNG sử dụng một công cụ bên ngoài như NUnit không? Từ những gì tôi có thể nói nó có vẻ như sử dụng NUnit sẽ có nhiều rắc rối với việc tạo thủ công các lớp và các phương thức thử nghiệm so với việc nhấn chuột phải vào bản IDE. Điều đó đang được nói, tôi thiếu các tính năng mà NUnit cung cấp mà VS không chứa? Có một giao diện đơn giản cho người QA của tôi để truy cập là tốt và tất cả, nhưng sử dụng nAnt và phụ thuộc xây dựng trên các bài kiểm tra đơn vị đi qua, tôi có thiếu các tính năng tuyệt vời không?Có sự khác biệt thực sự nào giữa NUnit và Khung kiểm thử đơn vị của Microsoft (VS 2008) không?

+0

Câu trả lời cho câu hỏi này có thể hữu ích: http://stackoverflow.com/questions/92869/nunit-vs-visual-studio-2008s-test-projects-for-unit-testing –

Trả lời

12

Roy Osherove vừa viết một số gần đây blog post tóm tắt sự khác biệt giữa NUnit và MSTest. Tôi nghĩ nó trả lời câu hỏi của bạn.

Ông kết luận rằng NUnit thắng cho Bài kiểm tra đơn vị, nhưng MsTest có nhiều khả năng tốt hơn để thử nghiệm dựa trên tích hợp và thử nghiệm nhóm với Hệ thống nhóm.

+0

@Paddyslacker: Không nơi nào trong bài đăng trên blog của Roy, anh ấy đưa ra bất kỳ tuyên bố nào về thực tế rằng "NUnit vượt trội hơn rất nhiều so với việc kiểm thử đơn vị thực sự". –

+0

Cố định kết luận phù hợp với tiêu đề của bài đăng trên blog. Cảm ơn vì đã giữ tôi thành thật, Scott! – Paddyslacker

+0

Chúng thực sự khá giống IMHO. –

1

Tôi sử dụng MSTest tại nơi làm việc vì tôi phải, và thành thật mà nói, tôi thấy nó chậm và khó chịu. Nếu tôi có sự lựa chọn của tôi, nó sẽ là xunit.net (về cơ bản giống như nunit, chỉ là một chút ít tiết) + Á hậu thử nghiệm resharper cho việc tích hợp IDE.

4

Tôi đã sử dụng cả NUnit và MSTest. Có, có sự khác biệt. NUnit là một khung kiểm thử đơn vị cũ hơn, được thiết lập nhiều hơn được thiết kế để thực hiện chính xác một thử nghiệm đơn vị. MSTest là mới hơn nên nó không có cùng mức độ trưởng thành trong API của nó. Ví dụ, NUnit cung cấp nhiều phương thức Assert hơn MSTest. (Xem http://geekswithblogs.net/sdorman/archive/2009/01/31/migrating-from-nunit-to-mstest.aspx để biết thêm thông tin. Để thêm một số phương thức Assert còn thiếu, xem http://geekswithblogs.net/sdorman/archive/2009/01/31/adding-custom-assertions-to-mstest.aspx).

Tôi chưa thực sự thấy hiệu suất là vấn đề với một trong hai khung.

Một số khác biệt lớn là:

  • MSTest đòi hỏi một Studio dụ trực quan trên máy chủ xây dựng để chạy. Nó không chứa một thử nghiệm độc lập như NUnit.
  • MSTest cung cấp kết quả kiểm tra kết quả phạm vi mã trực tiếp trong Visual Studio. NUnit cung cấp kết quả thử nghiệm trong giao diện người dùng của riêng nó và yêu cầu các công cụ bổ sung để thực hiện phân tích phạm vi mã.