Ho un'unità di test che mette alla prova una varietà di casi, come questo:NUnit e TestCaseAttribute, cross-join dei parametri possibili?
public void Test1(Int32 a, Int32 b, Int32 c)
Diciamo che voglio creare test-codice senza un ciclo, quindi voglio usare TestCase per specificare i parametri di questo tipo:
[TestCase(1, 1, 1)]
public void Test1(Int32 a, Int32 b, Int32 c)
E 'possibile per me con questo attributo per dire questo:
- per il primo parametro, ecco una serie di valori
- Per il secondo parametro, ecco una serie di valori
- Per il terzo parametro, ecco una serie di valori
- Ora, prova tutte le combinazioni di quanto sopra
Ie. qualcosa di simile:
[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)
Non sembra, ma forse sto trascurando qualcosa?
di efficace, e combinatoria è apparentemente il difetto pure, intellisense doc detto, e ho cercato senza quel particolare attributo e ha funzionato esattamente come hai detto tu. Grazie mille. –
@ LasseV.Karlsen Oltre all'attributo 'Values', anche l'attributo [' Range'] (http://www.nunit.org/index.php?p=range&r=2.5) può essere utilizzato allo stesso modo . Invece di elencare esplicitamente tutti i valori, possono essere specificati come intervallo. Quindi, nel tuo esempio, invece di '[Valori (1,2,3,4)]', puoi sostituire con '[Intervallo (1,4,1)]'. –