Próbuję użyć TestCaseSource
w NUnit uruchomić wiele testów z jednym z parametrów jest tablicąTestCase nazwa wyświetlana w NUnit przy użyciu tablic lub leki generyczne
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);
}
Problemem jest to nazwa wyświetlana w biegacza testowym (Używam adaptera testowego NUnit) jest całkiem bezużyteczny, wszystkie są wyświetlane jako test_chop(0,System.Int32[])
lub jeśli używa się List
, a następnie test_chop(0,System.Collections.Generic.List`1[System.Int32])
.
Jak zachować czytelny test i podać testową nazwę do testu w testerze? Próbowałem już kilku rzeczy, ale nadal mam wymienione wyżej imię.
Możesz po prostu nazwać testy jawnie, jeśli halsujesz na '.SetName (" twoje imię ")'. Być może jednak szukasz czegoś bardziej automatycznego. –
Tak, byłem naprawdę zaskoczony, że nie zrobiłem nic lepszego z tablicami w szczególności. '.SetName (" ")' wygląda jak najlepsza opcja lub mógłbym napisać metodę przekazania nazwy dla tych testów. –