Tôi có một đơn vị thử nghiệm thử nghiệm một loạt các trường hợp, như thế này:NUnit và TestCaseAttribute, tham gia chéo các tham số có thể?
public void Test1(Int32 a, Int32 b, Int32 c)
Hãy nói rằng tôi muốn tạo kiểm tra mã mà không có một vòng lặp, vì vậy tôi muốn sử dụng TestCase để xác định các thông số như thế này:
[TestCase(1, 1, 1)]
public void Test1(Int32 a, Int32 b, Int32 c)
có thể cho tôi với thuộc tính này để nói điều này:
- đối với các tham số đầu tiên, đây là một tập hợp các giá trị
- Đối với tham số thứ hai, đây là một tập hợp các giá trị
- Đối với tham số thứ ba, đây là một tập hợp các giá trị
- Bây giờ, kiểm tra tất cả các kết hợp của các bên trên
Ie. một cái gì đó như thế này:
[TestCase(new[] { 1, 2, 3, 4 }, new[] { 1, 2, 3, 4 }, new[] { 1, 2, 3, 4 })]
public void Test1(Int32 a, Int32 b, Int32 c)
Có vẻ như không, nhưng có lẽ tôi đang xem cái gì đó?
Đó làm việc, và tổ hợp là dường như mặc định là tốt, IntelliSense doc nói rằng, và tôi đã cố gắng mà không có đặc biệt và nó hoạt động chính xác như bạn đã nói. Cảm ơn nhiều. –
@ LasseV.Karlsen Ngoài thuộc tính 'Values', thuộc tính [' Range'] (http://www.nunit.org/index.php?p=range&r=2.5) cũng có thể được sử dụng theo cách tương tự . Thay vì liệt kê rõ ràng tất cả các giá trị, chúng có thể được chỉ định làm một phạm vi. Vì vậy, trong ví dụ của bạn, thay vì '[Values (1,2,3,4)]', bạn có thể thay thế bằng '[Range (1,4,1)]'. –