Я использую проект MSTest для автоматизации моей системы.Тестовый проект работает нормально.Но мне нужно запустить тестовый проект в моем производстве без установки Visual Studio.Так что я использую командную строку VSTest.Console.exe.
Мой метод входа в систему, как показано ниже
[TestMethod]
[TestCategory("SmokeTests")]
public void Can_login_with_Empty_UserName()
{
Login(TestContext.Properties["UserName"].ToString(), TestContext.Properties["Password"].ToString());
}
, и моя команда vstest.console, как показано ниже
vstest.console MyPath \ SmokeTests.dll / Тесты: Вход в систему / Настройки: PathToSettingFile \ tests.runsettings
, когда я запускаю эту команду, она выдаст мне «System.NullReferenceException: ссылка на объект не установлена для экземпляра объекта».Ошибка
Но если я изменю свой метод, как показано ниже
[TestMethod]
[TestCategory("SmokeTests")]
public void Can_login_with_Empty_UserName()
{
Login("Admin", "1234");
}
Выше код будет работать правильно.
Итак, проблема в
TestContext.Properties ["UserName"]. ToString ()
Когда я запускаю тестовый пример через Visual Studio, никаких проблем не возникает.Любая идея, почему / Settings: PathToSettingFile \ tests.runsettings не может загрузить файл runsettings, работающий с помощью команды vstest.console.Спасибо.