2012-04-13 7 views
8

Tôi muốn có khả năng chọn lọc chạy thử nghiệm NUnit dựa trên một số tiêu chí. Trong trường hợp của tôi, lựa chọn sẽ dựa trên: Mức độ ưu tiên kiểm tra và/hoặc Loại thử nghiệm.NUnit: chỉ chạy thử nghiệm có thuộc tính cụ thể (ưu tiên hoặc loại)

Các lớp thử nghiệm/phương pháp sẽ trông như thế:

namespace NUnit.Tests 
{ 
    using System; 
    using NUnit.Framework; 

    [TestFixture] 
    public class MathTests 
    { 
    [Test, Property("Priority", "Critical"), Property("Type", "Fully automatic")] 
public void AdditionTest() 
     { /* ... */ } 

    [Test, Property("Priority", "High"), Property("Type", "Partly automatic")] 
public void MultiplicationTest() 
     { /* ... */ } 
    } 
} 

Tôi muốn chỉ chạy các bài kiểm tra mà có "ưu tiên" = "Critical" VÀ "Loại" = "Hoàn toàn tự động".

Có thể triển khai lựa chọn đó với NUnit không? Tôi biết người ta có thể chọn các bài kiểm tra thuộc "loại" cụ thể để thực hiện, nhưng nó chỉ là 1 tiêu chí ...

Trả lời

3

Theo Nunit Console Manual:

Lệnh chạy sau chỉ các bài kiểm tra trong Baseline loại:

nunit-console myassembly.dll/bao gồm: Cơ sở dữ liệu

Nhiều loại có thể được xác định trên một trong hai tùy chọn, bằng cách sử dụng dấu phẩy để tách chúng.

Vì vậy, tôi mong chờ một cái gì đó như nunit-console myassembly.dll /include:Priority,Critical để làm những gì bạn muốn (Tôi không thử nghiệm nó).

+0

Nói chung, có [Biểu thức danh mục] (http://www.nunit.org/index.php?p=consoleCommandLine&r=2.5.10); Tôi không chắc chắn nếu đây là những gì được hỏi ở đây ... –

+0

Nó gần như là tôi muốn thực hiện. Chỉnh sửa nhỏ: Tôi phải đặt tên các danh mục như sau: [Kiểm tra, Mô tả ("Thêm người dùng bảng điều khiển quản trị trong tài khoản quản trị hệ thống"), Danh mục ("FeatureId: Add_an_admin_console_user"), Danh mục ("RequirementId: N/A "), Danh mục (" Ưu tiên: Quan trọng "), Danh mục (" Loại: Tự động "), Danh mục (" ApplicableTo: Server "), ] – andrey1492