Ich versuche TestCaseSource
in NUnit zu verwenden mehrere Tests mit einer der Parameter ist ein ArrayTestcase Anzeigenamen in NUnit wenn Arrays oder Generics Verwendung
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);
}
Das Problem ist, die in den Test-runner angezeigt zu laufen (Ich benutze den NUnit Test Adapter) ist ziemlich nutzlos, sie alle zeigen als test_chop(0,System.Int32[])
oder bei Verwendung eines List
dann test_chop(0,System.Collections.Generic.List`1[System.Int32])
.
Wie behalte ich einen ziemlich lesbaren Test und gebe dem Test im Test Runner einen nützlichen Testnamen? Ich habe ein paar Dinge ausprobiert, aber ich bekomme immer noch den oben genannten Namen.
Sie können die Tests nur dann explizit benennen, wenn Sie '.SetName (" Ihr Name ")' anheften. Vielleicht suchen Sie etwas Automatischeres. –
Ja, ich war überrascht, dass es mit Arrays nicht besser lief. '.SetName (" ")' sieht wie die beste Option aus oder ich könnte eine Methode schreiben, um einen Namen für diese Tests zu übergeben. –