J'écris des tests unitaires avec NUnit et le plugin TestDriven.NET. Je voudrais fournir des paramètres à une méthode d'essai comme celui-ci:Comment spécifier les paramètres de la méthode de test avec TestDriven.NET?
[TestFixture]
public class MyTests
{
[Test]
public void TestLogin(string userName, string password)
{
// ...
}
...
}
Comme vous pouvez le voir, ces paramètres sont des données privées, donc je ne veux pas à coder en dur ou les mettre dans un fichier. En fait, je ne veux pas les écrire n'importe où, je veux être invité chaque fois que je lance le test.
Lorsque je tente de lancer ce test, je reçois le message suivant dans la fenêtre de sortie:
TestCase 'MyProject.MyTests.TestLogin' inexécution: Aucun argument n'a été fourni
Alors Ma question est, comment puis-je fournir ces paramètres? Je m'attendais à ce que TestDriven.NET affiche une invite pour que je puisse saisir les valeurs, mais pas ...
Désolé si ma question semble stupide, la réponse est probablement très simple, mais je n'ai rien trouvé utile sur Google ...
EDIT: Je viens de trouver un moyen de le faire, mais il est un sale tour ...
[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 }
};
}
}
Je suis toujours intéressé par une meilleure solution ..
Je pense que si vous faites cela, vous aurez du mal à exécuter vos tests automatiquement dans un environnement CI (Continuous Itegration). – 7wp
Vous avez absolument raison. Cependant, c'est un petit projet communautaire, donc CI n'est pas vraiment un problème, au moins pour l'instant. –