Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows phone 8 SpecFlow测试平台是否支持异步任务?_Windows Phone 8_Specflow - Fatal编程技术网

Windows phone 8 SpecFlow测试平台是否支持异步任务?

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步骤的异步/等待支持=> 我想将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);
}