2011-11-17 26 views
5

tức là để có phương pháp được trang trí với thuộc tính ClassCleanup được thực thi sau khi ngay lập tức sau tất cả các thử nghiệm trong một lớp thử nghiệm? (như TestFixtureTearDown trong NUnit). Bất kỳ cách giải quyết nào?Có thể có ClassCleanup xác định trong thử nghiệm MSTest/VS Unit không?

Việc thay thế nhúng thiết lập/teardown nặng này trong TestInitialize và TestCleanup sẽ chỉ tăng thời gian thực hiện kiểm tra.

Tôi đã so sánh hai trong tuần qua. (Đây là những gì tôi tìm thấy NUnit vs MSTest. Không có nhiều thời gian bay ở MSTest, vì vậy nếu tôi đã phạm sai lầm, xin vui lòng gửi sửa chữa như ý kiến ​​..)

Mục đặc biệt này là một showstopper theo như tôi quan tâm. Đọc phần đầu tiên của bài đăng trên blog trong trường hợp bạn muốn biết thêm chi tiết.

+0

Bạn có nghĩa là NUnit trong ngoặc ở dòng thứ hai? -xUnit hoạt động bằng cách sử dụng Dispose –

+0

Tôi có nghĩa là gia đình xUnit; nhưng cố định anyways để tránh nhầm lẫn với xUnit.net – Gishu

Trả lời

0

Theo MSDN ClassCleanup được điều hành như sau:

Đối với các lớp học

ClassInitialize và ClassCleanup được gọi ngay sau khi lớp học của bạn được nạp và ngay trước khi lớp học của bạn được bốc dỡ.

Khi tôi đọc nó, điều đó có nghĩa là khi các bài kiểm tra trong lớp đã được chạy.

+0

Đã thêm ghi chú của cộng đồng vào trang vs2010. Hãy xem phần đầu tiên của bài đăng được liên kết trong câu hỏi. Những gì trang MSDN không nói là "Class Cleanups được chạy tại một số điểm trong tương lai như một lô.Các lớp kiểm tra khác có thể được thực hiện giữa bài kiểm tra cuối cùng và ClassCleanup của lớp # 1. " – Gishu

+0

Ok. Didn'r nhận ra điều đó. Câu trả lời của tôi không tốt sau đó :-) –

1

ClassInitialize và ClassCleanup được gọi ngay sau khi lớp học của bạn được tải và ngay trước khi lớp học của bạn được tải.

Đó là sự thật, nhưng các lớp được tải xuống hàng loạt sau khi tất cả các thử nghiệm đã chạy xong.

Ví dụ:

ClassInitialize1
TestInitialize1
TestMethod11
TestCleanup1
TestInitialize1
TestMethod12
TestCleanup1
ClassInitialize2
TestInitialize2
TestMethod21
TestCleanup2
TestInitialize2
TestMethod22
TestCleanup2
TestInitialize2
TestMethod23
TestCleanup2
ClassCleanup1
ClassCleanup2

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