2010-02-14 35 views
65

Tôi tự hỏi khung kiểm thử đơn vị nào là một khung tốt để làm quen với nó? Tôi biết điều này có thể là một câu hỏi của ý kiến, nhưng tôi nghĩ tôi sẽ hỏi anyways. Tôi biết rằng tôi sẽ cần phải làm điều đó một ngày nào đó, vì vậy tôi cũng có thể học cách sử dụng nó. Tôi biết rằng có khá ít ở đó, nhưng cái nào hiệu quả cho sự phát triển của C#?Khung kiểm thử đơn vị nào?

Từ this câu hỏi Tôi có thể thấy rằng thử nghiệm đơn vị là cần thiết, nhưng cá nhân tôi đã không sử dụng nó. Vì vậy, đó là lý do tại sao tôi hỏi câu hỏi này.

+0

Đây thực sự là một câu hỏi không hợp lệ và phải được đóng là S & A. Nó không chứa bất kỳ câu trả lời nào tốt ngoài "hey tôi sử dụng xyz và nó thực sự tuyệt vời" cũng không phải là một tài nguyên giá trị cho bất kỳ ai tìm kiếm so sánh các khung công tác hiện tại. –

+0

http://stackoverflow.com/questions/261139/nunit-vs-mbunit-vs-mstest-vs-xunit-net – nawfal

+0

Tôi thấy đây là một trong những vấn đề chính với những người tôi nói chuyện về trang web này. Bạn có những quy tắc nghiêm ngặt này về đặt câu hỏi bị ném bom bởi những câu hỏi trolls, mọi người chỉ muốn có thể hỏi một câu hỏi trung thực và nhận được câu trả lời hay.Nếu bạn định sắp xếp, mỗi câu hỏi có thể sắp xếp các câu trả lời xấu và cho phép mọi người học hỏi từ cộng đồng trang web này một cách tổng thể theo cách họ muốn. đây không phải là lần đầu tiên và số lần mà mọi người đặt câu hỏi ở đây không thể là nhỏ. Vì vậy, hãy làm việc một cách tốt hơn để giải quyết vấn đề này sau đó cấm mọi người đặt câu hỏi trong 6 tháng. – Rob

Trả lời

48

Cá nhân, tôi thích Visual Studio Unit Testing Framework, vì hai lý do chính:

  • Nó tích hợp hoàn toàn với các IDE;
  • Đó là một chương trình ít hơn để triển khai trong môi trường dev.

Có nói rằng, khá nhiều bất kỳ khung kiểm thử đơn vị nào sẽ thực hiện thủ thuật, điều quan trọng là phải có các bài kiểm tra!

+10

nhược điểm của điều đó là: TFS của bạn cần một giấy phép VS quá, nếu bạn muốn (bạn làm!) Continiuous tích hợp xây dựng chạy thử nghiệm. Đó có thể là không có vấn đề cho các cửa hàng lớn hơn hoặc các đối tác nhưng ít nhất nó là một điều nữa để đưa vào tài khoản. – mbx

+5

NUnit giờ đây hỗ trợ tích hợp liền mạch với IDE và không cần bất kỳ triển khai nào (nếu sử dụng NuGet). –

+1

@mbx - Không yêu cầu giấy phép VS đối với các đại lý xây dựng TFS. – Spivonious

32

Đừng lo về việc chọn một khung. Chỉ cần chọn một và bắt đầu thử nghiệm - chúng không phải tất cả khác nhau. Khi bạn đã viết bài kiểm tra trong một thời gian, bạn sẽ biết những gì cần tìm, để phù hợp với nhu cầu của bạn.

Cá nhân, tôi đã tìm thấy xUnit, Testdriven.NetMoq là một bộ công cụ kiểm tra rất linh hoạt.

Cũng xem bài này: NUnit vs. MbUnit vs. MSTest vs. xUnit.net

+1

+1 cho Moq! Tình yêu khuôn khổ đó. – TrueWill

0

Có một vài lý do để thử nghiệm, do đó một vài môi trường thử nghiệm. Ngoài ra, có các cấp độ kiểm tra, như đơn giản, sơ khai và mocks. Ví dụ, bạn có thể kiểm tra hành vi thay vì trạng thái.

Theo như chức năng, tôi thường sử dụng Visual Studio được xây dựng trong thiết lập, thêm một tham chiếu đến dll NUnit và thay đổi chú thích C# thành NUnit. Điều này là bởi vì tôi thích thử nghiệm bên ngoài Visual Studio, đặc biệt là khi nó liên quan đến những người khác trong nhóm của tôi (và chúng tôi đã không mua phiên bản nhóm của VS được nêu ra).

2

Tôi sử dụng NUnit cho khung kiểm tra và ReSharper để tích hợp nó vào VS (và mọi thứ khác ReSharper hiện).

+1

Reflector hoặc ReSharper? – TrueWill

+1

Yikes. ReSharper. Cố định, cảm ơn. –

1

Sử dụng MbUnit (với Gallio), NUnit, MsTest hoặc xUnit. Bạn có thể kết hợp một số bài kiểm tra đơn vị. Tôi sử dụng NUnit cho TDD

+0

Điều này không hoạt động với VS2015 – sweetfa

5

Tôi đã quyết định gắn bó với NUnit vì ReSharper cung cấp hỗ trợ IDE gốc (tiết kiệm rất nhiều thời gian). Nó cũng được TeamCity hỗ trợ trong việc chạy và báo cáo các thử nghiệm tự động.

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