Закодированные тесты пользовательского интерфейса: запускайте тестируемое приложение, только если оно еще не запущено.

При использовании «закодированных тестов пользовательского интерфейса» в Visual Studio 2010 существует ли простой способ запустить тестируемое приложение (AUT) только если AUT еще не запущен?

Я знаю, что могу реализовать такой фрагмент кода запуска с нуля, но мне интересно, предлагает ли среда тестирования Visual Studio что-то из коробки.


person Community    schedule 18.06.2012    source источник


Ответы (2)


Кажется, что это можно сделать с помощью этого кода:

[TestInitialize]
public void MyTestInitialize()
{
    if (_application != null)
    {
        return;
    }
    Process[] processes = Process.GetProcessesByName("ApplicationUnderTest");
    if (processes.Length > 0)
    {
        _application = ApplicationUnderTest.FromProcess(processes[0]);
    }
    else
    {
        _application = ApplicationUnderTest.Launch(@"C:\Path\To\ApplicationUnderTest.exe");
    }
}

AUT запускается только в том случае, если он еще не запущен.

person Community    schedule 20.06.2012

Не существует встроенного метода для запуска приложения, если оно в данный момент не запущено, о чем я знаю.

Было бы тривиально написать что-то специальное для этого, просто убедитесь, что вы можете привести тестируемое приложение в известное состояние, чтобы предыдущий сбой теста не привел к сбою всех тестов, запущенных после него. Для веб-приложений переход в известное состояние, скорее всего, будет таким же простым, как установка URL-адреса, но для сложных настольных приложений возврат в известное состояние может быть исключительно сложным.

person stoj    schedule 19.06.2012