使用NUnit控制檯運行器運行時,此測試失敗。如果我跑得也與TestDriven.NET測試它的工作原理,但如果我運行整個套件與TestDriven.NET:C#/。NET:使用NUnit測試BackgroundWorker
[Test]
public void BackgroundWorkerFiresRunWorkerCompleted()
{
var runner = new BackgroundWorker();
ManualResetEvent done = new ManualResetEvent(false);
runner.RunWorkerCompleted += delegate { done.Set(); };
runner.RunWorkerAsync();
bool res = done.WaitOne(TimeSpan.FromSeconds(10));
// This assert fails:
Assert.IsTrue(res, "RunWorkerCompleted was not executed within 10 seconds");
}
我懷疑問題有一些做與不具有一個消息循環,但我不確定。
使用BackgroundWorker的要求是什麼?
是否有解決方法使測試工作?
這有效。謝謝! – 2009-04-15 12:49:13
我們發現DoEvents()只有在測試(或在同一測試運行中的先前測試)實例化Windows窗體或控件時纔是必需的。爲什麼? – 2010-04-07 23:56:52