Kiểm tra đơn vị Visual Studio: SetUp và TearDown


90

Thay vì [SetUp] và [TearDown] trong Nunit, đâu là giải pháp thay thế trong Visual Studio Ultimate 2010 Unit Testing. Trong Nunit, bạn có thể tưởng tượng các phương thức setup và teardown giống như các hàm tạo và hủy cho các bài kiểm tra trong lớp của chúng ta.



Câu trả lời:


143

Phương thức được chú thích bằng [TestInitialize]được chạy trước mỗi lần kiểm tra. Tương tự như vậy [TestCleanup]là sau mỗi bài kiểm tra.

[ClassInitialize][ClassCleanup]được chạy trước và sau 'bộ' kiểm tra bên trong TestClass.


6
Bạn có thể đã thêm rằng phương thức ClassInitialize lấy TestContext làm đối số.
boutta

4
Và nó cũng phải được public static
Shalom Aleichem

4

Visual Studio sẽ sử dụng MSTest, đó là khung kiểm thử đơn vị của Microsoft, nó tương tự như NUnit. Trên thực tế, hầu hết chúng giống nhau về khái niệm nhưng khác nhau về cú pháp.

Để xem so sánh, những người tạo ra xUnit (một khung thử nghiệm đơn vị khác) có một danh sách ở đây:

http://xunit.github.io/docs/comparisons.html

Cụ thể hơn những gì bạn yêu cầu, TestInitializeMSTest tương đương với NUnit's Setup, và tương tự cho TestCleanupTearDown.

Một điều cần lưu ý, tôi sẽ ở lại với NUnit nếu bạn đang cố gắng thực hiện kiểm thử đơn vị tự động hoặc một số loại tích hợp liên tục. Lý do chính mà các *unitkhung công tác khác nhau được ưa chuộng hơn MSTest là vì bạn phải có một bản sao của Visual Studio trên máy bạn đang chạy thử nghiệm. Tốt cho máy cục bộ của riêng bạn, câu chuyện khác cho máy chủ CI. Visual Studio là một tập hợp chương trình và để cài đặt nó trên một máy chủ (thường được cho là nhẹ và nhanh nhất có thể), chỉ để chạy thử nghiệm là một chút phiền phức.


7
Bạn có thể chỉ cần cài đặt TFS Team Test Agent (chứ không phải cấu hình nó) trên máy chủ CI để cài đặt trình chạy thử nghiệm ( microsoft.com/en-us/download/details.aspx?id=1334 ). Không cần cài đặt Visual Studio đầy đủ, trừ khi bạn muốn kiểm tra Chung, Có thứ tự, Mã hóaUI hoặc Hiệu suất.
jessehouwing

1
Team Build 2012 cài đặt hỗ trợ cho các trình chạy thử nghiệm khác nhau mà không cần cài đặt Visual Studio trên máy chủ xây dựng của bạn.
jessehouwing
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.