Windows phone 8 SpecFlow测试平台是否支持异步任务?
对Specflow步骤的异步/等待支持=> 我想将SpecFlow与C#、windows phone 8、, 带有MSTest的SpecFlow可以使用async/await执行代码,但不等待结果 为了支持异步任务,我更改了BindingInvoker.cs并升级到.NET 4,现在接收到IOC未初始化错误Windows phone 8 SpecFlow测试平台是否支持异步任务?,windows-phone-8,specflow,Windows Phone 8,Specflow,对Specflow步骤的异步/等待支持=> 我想将SpecFlow与C#、windows phone 8、, 带有MSTest的SpecFlow可以使用async/await执行代码,但不等待结果 为了支持异步任务,我更改了BindingInvoker.cs并升级到.NET 4,现在接收到IOC未初始化错误 这里的问题是,如果我在后台线程上放置了一些东西,然后在测试执行模式下,主线程不知道它,它只是跳转到下一段代码来执行并验证结果,但正常运行时后台线程上的点值不会更新。所以给出了错误的断言。处理
这里的问题是,如果我在后台线程上放置了一些东西,然后在测试执行模式下,主线程不知道它,它只是跳转到下一段代码来执行并验证结果,但正常运行时后台线程上的点值不会更新。所以给出了错误的断言。处理这个问题的方法是让主线程等待/休眠,直到后台工作结束。 例如:
异步支持已经添加到SpecFlow中,并将包含在文本版本中。您可以使用CI生成将其签出
请参见是。SpecFlow不支持异步步骤
见
例如:
[When(@"I want to get the web page '(.*)'")]
public async Task WhenIWantToGetTheWebPage(string url)
{
await _webDriver.HttpClientGet(url);
}
在该步骤完成之前,它不会继续到下一步,但它将释放线程以执行其他测试您如何编写测试?删除了一个没有回答您问题的答案,其一般要点是您需要单元测试框架来支持
异步
非SpecFlow
[When(@"I want to get the web page '(.*)'")]
public async Task WhenIWantToGetTheWebPage(string url)
{
await _webDriver.HttpClientGet(url);
}