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