3

最初にアプリケーション、つまり word.exe を起動する必要がある nuit を実行する必要があります。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 に答える