avi*_*tor 12 .net silverlight tdd bdd specflow
Silverlight Unit测试框架定义了一个处理异步调用的过程(从Microsoft.Silverlight.Testing.SilverlightTest派生测试类,添加异步属性,使用EnqueueXXX方法.)考虑SpecFlow在测试类和步骤之间的分离:
我想每个看过并投票支持这个问题的人都在等待有人给出一个很棒的、优雅的答案,但看起来这不会发生在这里。为了帮助其他现在需要可用答案的人......
我对其他单元测试情况所做的就是使用 AutoResetEvent,就像您在问题中提到的那样:
AutoResetEvent MyAutoReset = new AutoResetEvent();
[TestMethod]
public void MyTestMethod()
{
var MyItem.GetItem(x =>
{
// Return handler
MyAutoReset.Set();
});
MyAutoReset.WaitOne(5000, false));
}
Run Code Online (Sandbox Code Playgroud)
显然,这种方法需要考虑一些事情,但它传达了这个想法。