我正在尝试将 NUnit 集成到我的 windows phone 项目中以测试异步 Web 服务调用。我指的是 NUnitTestRunnerWP7 dll。这就是我所做的。
但是异步回调方法是在 Assert 语句之后调用的,因此它不起作用。回调后如何执行断言?如果我在回调中写入失败的断言,我的应用程序就会崩溃。
[Test]
public void TestAsyncFunc(){
string result;
ManualResetEvent manualReset = new ManualResetEvent(false);
MyWebServiceClient client = GetMyWebServiceClient(); //added a service reference for asmx services
client.LoginCompleted += delegate(object sender, EventArgs args)
{
result = args.Result.ToString();
manualReset.Set();
};
client.LoginAsync("username", "password");
if (!manualReset.WaitOne(5000))
Assert.Fail();
Assert.AreEqual("", result);
}
我不明白我错过了什么。任何帮助,将不胜感激。
提前致谢。