В Nunit в рамках теста я должен запустить приложение, пусть оно будет работать, например, 1 минуту, затем остановить его, а затем оно считывает результаты из файла и утверждает, верны ли значения. Я могу запускать и останавливать приложение с помощью Process.Start ("app.exe"); однако я не уверен, как заставить его работать в течение x секунд внутри [Test]. Есть идеи, как это сделать? Спасибо

0
J. Davidson 29 Янв 2013 в 09:26

1 ответ

Лучший ответ
[Test]
void TestFiles()
{
    using(var process = Process.Start("app.exe"))
    {
        Thread.Sleep(1000);
        process.Kill();
        process.WaitForExit();
    }

    // Check your files now
}
2
Felix 29 Янв 2013 в 09:53
Если я использую Thread.Sleep (10000) при запуске процесса app.exe. Будет ли он также останавливать приложение в течение 10 секунд, когда поток спит? потому что я должен заставить приложение работать так долго, прежде чем убивать. Спасибо
 – 
J. Davidson
29 Янв 2013 в 09:35
Процесс выполняется в собственном потоке - он будет продолжать работать в фоновом режиме, пока тестовый поток спит.
 – 
Felix
29 Янв 2013 в 09:37
Вы также можете использовать WaitForExit после Kill. Kill асинхронный.
 – 
Mike Zboray
29 Янв 2013 в 09:49