Tôi cố gắng để sử dụng TestCaseSource
trong NUnit để chạy nhiều thử nghiệm với một trong các thông số là một mảngtên hiển thị TestCase trong NUnit khi sử dụng Mảng hoặc Generics
private static readonly object[] ReturnChopCases =
{
new TestCaseData(3, new List<int> {}).Returns(-1),
new TestCaseData(3, new List<int> {1}).Returns(1),
new TestCaseData(1, new List<int> {1,2}).Returns(1),
};
[TestCaseSource("ReturnChopCases")]
public int test_chop(int SearchNumber, int[] SearchArray)
{
return Chopper.Chop(3, SearchArray);
}
Vấn đề là tên hiển thị trong runner thử nghiệm (Tôi đang sử dụng bộ điều hợp thử nghiệm NUnit) khá vô dụng, tất cả đều hiển thị là test_chop(0,System.Int32[])
hoặc nếu sử dụng List
thì test_chop(0,System.Collections.Generic.List`1[System.Int32])
.
Làm cách nào để giữ lại kiểm tra khá dễ đọc và cung cấp tên thử nghiệm hữu ích cho thử nghiệm trong nhân tố thử nghiệm? Tôi đã thử một vài điều nhưng tôi vẫn nhận được tên được đề cập ở trên.
Bạn chỉ có thể đặt tên cho các thử nghiệm một cách rõ ràng nếu bạn lưu vào '.SetName (" tên của bạn ")'. Bạn có thể đang tìm kiếm một cái gì đó tự động hơn mặc dù. –
Có, tôi đã thực sự ngạc nhiên khi nó không làm điều gì đó tốt hơn với mảng đặc biệt. '.SetName (" ")' trông giống như lựa chọn tốt nhất hoặc tôi có thể viết một phương thức để truyền vào một tên cho các bài kiểm tra này. –