3

我必须运行一个 nuit,首先我必须启动一个应用程序,即 word.exe,然后让它运行 50 秒而不是停止它并断言一个值被记录了多少次。我有下面的代码,它将读取日志文件并断言它是否正确。但我不确定如何从 NUNIT 启动应用程序并让它运行 50 秒而不是停止它并运行测试。

所以在接下来的测试中,我必须先启动我的应用程序 xyz.exe,让它运行 50 秒,然后再停止并断言。任何想法如何完成它。谢谢

- [Test] 
       public void logtest()
       {
           // arrange
           ILog log = LogManager.GetLogger(typeof (LoggingIntegrationTests));
           string  = "Error 2";

           // act
           log.Info(dataToLog);

           // assert
           LogManager.Shutdown();
           var matches = Regex.Matches(File.ReadAllText(logfile), dataToLog);
           Assert.AreEqual(3, matches.Count);
       }
4

1 回答 1

3
using System.Diagnostics;
using System.Threading;

[Test]
public void logtest()
{
    // ...
    Process proc = Process.Start(@"c:\windows\system32\notepad.exe");
    if ( null == proc )
        Assert.Fail("Could not start process, maybe an existing process has been reused?");
    Thread.Sleep(50000);
    proc.Kill();
    // ...
}
于 2013-01-29T07:18:49.620 回答