2009-03-30 44 views
23

tôi có thể thêm một thuộc tính trên một thử nghiệm để bỏ qua nóNUnit bỏ qua tất cả các bài kiểm tra

[Test] 
[Ignore("Foo Bar")] 

Có cách nào để bỏ qua tất cả các bài kiểm tra trong một tập tin (ở cấp TestFixture)?

Trả lời

-6

Đơn giản là không áp dụng thuộc tính TextFixture trên lớp.

+18

Bằng không áp dụng các thuộc tính mà bạn đang bỏ qua một thực tế rằng có những phương pháp thử trong lớp này mà không phải là đang được thử nghiệm vì một lý do. Bạn nên sử dụng [TestFixture, Ignore ("reason")] để cung cấp kết quả kiểm tra với lý do tại sao chúng bị bỏ qua. Xóa/xóa nó là làm cho lý do hoàn toàn sai lệch khi nó có thể có ý nghĩa để truyền đạt điều này cho các nhà phát triển khác. –

+2

+1 @Chris ... Bỏ qua thuộc tính truyền đạt mục đích rõ ràng hơn nhiều. – karlgrz

+0

Điều này không chính xác như NUnit 2.5, thuộc tính TestFixture là tùy chọn trong hầu hết các trường hợp - http://www.nunit.org/index.php?p=testFixture&r=2.5 – ferventcoder

0

Xóa thuộc tính [TestFixture] khỏi lớp có vẻ như nó hoạt động.

Chỉnh sửa: Câu trả lời này đã sai khi bắt đầu với NUnit 2.5 khi thuộc tính [TestFixture] trở thành tùy chọn cho các đồ đạc phi chung chung không được tham số hóa. Xem here để biết thêm.

1

Bạn có thể tạo toàn bộ TestFixture "theo yêu cầu" bằng cách sử dụng thuộc tính [Explicit]. Sau đó, nó có khi bạn muốn nó, nhưng chỉ khi bạn nhấp vào nó một cách rõ ràng.

8

Như được đề xuất, thuộc tính [Explicit] hoạt động tốt. Bạn cũng có thể chỉ cần đặt thuộc tính [Ignore()] dưới thuộc tính [TestFixture], như thể hiện trong tài liệu:

http://www.nunit.org/index.php?p=ignore&r=2.5

Sử dụng [Ignore()] nếu bạn muốn thử nghiệm để được gắn cờ là phớt lờ (và do đó bạn sẽ có được thanh màu vàng nếu tất cả các bài kiểm tra khác vượt qua). Sử dụng [Explicit] nếu bạn muốn thử nghiệm được giảm giá hoàn toàn (và do đó bạn sẽ nhận được thanh màu xanh lá cây nếu tất cả các thử nghiệm khác vượt qua).

59
[TestFixture, Ignore("reason")] 
public class YourTestFixture { } 

Hoặc nếu bạn thích để phá vỡ thuộc tính của bạn ra để mỗi dòng:

[TestFixture] 
[Ignore("reason")] 
public class YourTestFixture { } 
+1

@leora, đây là câu trả lời chính xác ... nên Được chấp nhận. –

+2

Đây là câu trả lời hay nhất. Câu trả lời hiện đang được chấp nhận về mặt kỹ thuật cũng chính xác, nhưng khiến bạn ở trạng thái có mã chết mà bạn không biết (lý do nằm trong các nhận xét về câu trả lời đó). Với các phiên bản NUnit 2.5+ mới hơn, câu trả lời được chấp nhận thực sự sai vì thuộc tính TestFixture là tùy chọn. Xem http://www.nunit.org/index.php?p=testFixture&r=2.5 – ferventcoder

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