Я пишу модульные тесты с помощью NUnit и плагина TestDriven.NET. Я хотел бы предоставить параметры для тестового метода следующим образом:
[TestFixture]
public class MyTests
{
[Test]
public void TestLogin(string userName, string password)
{
// ...
}
...
}
Как вы можете видеть, эти параметры являются частными данными, поэтому я не хочу их жестко программировать или помещать в файл. На самом деле я не хочу писать им где-либо, я хочу, чтобы каждый раз, когда я запускал тест, мне нужно было спросить.
Когда я пытаюсь запустить этот тест, я получаю следующее сообщение в окне вывода:
TestCase "MyProject.MyTests.TestLogin" не выполнен: аргументы не предоставлены
Итак, мой вопрос: как мне предоставить эти параметры? Я ожидал, что TestDriven.NET отобразит приглашение, чтобы я мог вводить значения, но это не...
Извините, если мой вопрос кажется глупым, ответ, вероятно, очень прост, но я не нашел ничего полезного в Google...
EDIT: Я только нашел способ сделать это, но это грязный трюк...
[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 }
};
}
}
Меня все еще интересует лучшее решение...