ho una classe di test come segue:Non tutti i test vengono eseguiti in parametrizzati NUnit TestFixture contenenti le matrici
[TestFixture("someurl1", new[] { "param1", "param2" }, 15)]
[TestFixture("someurl2", new[] { "param3" }, 15)]
public class my_test
{
public my_test(string url, string[] fields, int someVal)
{
// test setup
}
}
Durante l'esecuzione di questo test in ReSharper 6.1 e NUnit 2.5.10, il test non è eseguito due volte, come atteso, funziona solo una volta. Nei risultati del test vedo elencato
my_test("someurl1", System.String[], 15)
Questo mi fa pensare che i due apparecchi sono trattati come lo stesso, e che NUnit non sta differenziando tra le matrici di stringhe nelle due prove.
Come soluzione alternativa, ho aggiunto un parametro dummy nel costruttore. Se si imposta questo valore su un valore diverso per ciascuna apparecchiatura, vengono eseguiti tutti i test.
Non è possibile disporre di TestFixtures con array contenenti valori diversi? Ho appena aggiornato da ReSharper 5, quindi mi chiedo se è correlato. Ho letto su alcuni problemi con test parametrizzati in 6.x.
Funziona nel corridore NUnit? – Scroog1
Inoltre, grazie per aver sottolineato che è possibile disporre di dispositivi di prova parametrizzati, poiché non sapevo che ciò fosse possibile. – Scroog1
Appena provato nel corridore NUnit e che esegue tutti i test con successo. Penso che potrebbe essere correlato all'aggiornamento di ReSharper. –