Sto scrivendo unit test con NUnit e il plugin TestDriven.NET. Mi piacerebbe per fornire i parametri ad un metodo di test come questo:Come si specificano i parametri del metodo di prova con TestDriven.NET?
[TestFixture]
public class MyTests
{
[Test]
public void TestLogin(string userName, string password)
{
// ...
}
...
}
Come si può vedere, questi parametri sono dati privati, quindi non voglio loro hard-code o metterli in un file. In realtà non voglio scriverli ovunque, voglio essere richiesto ogni volta che eseguo il test.
Quando provo ad eseguire questo test, ottengo il seguente messaggio nella finestra di output:
TestCase 'MyProject.MyTests.TestLogin' non eseguite: Non sono argomenti sono stati forniti
Così la mia domanda è, come posso fornire questi parametri? Mi aspettavo TestDriven.NET per visualizzare un prompt in modo che possa immettere i valori, ma non ...
Scusa se la mia domanda sembra stupida, la risposta è probabilmente molto semplice, ma non ho trovato nulla utile su Google ...
EDIT: ho appena trovato un modo per farlo, ma è un brutto scherzo ...
[Test, TestCaseSource("PromptCredentials")]
public void TestLogin(string userName, string password)
{
// ...
}
static object[] PromptCredentials
{
get
{
string userName = Interaction.InputBox("Enter user name", "Test parameters", "", -1, -1);
string password = Interaction.InputBox("Enter password", "Test parameters", "", -1, -1);
return new object[]
{
new object[] { userName, password }
};
}
}
sono ancora interessato a una soluzione migliore ..
Penso che se lo farai avrai problemi nell'esecuzione automatica dei test in un ambiente CI (Continuous Itegration). – 7wp
Hai assolutamente ragione. Tuttavia, si tratta di un piccolo progetto di comunità, quindi l'IC non è davvero un problema, almeno per ora. –