SpecFlow测试平台是否支持异步任务?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpecFlow测试平台是否支持异步任务?相关的知识,希望对你有一定的参考价值。
对Specflow步骤的异步/等待支持=>我想将SpecFlow与C#,Windows Phone 8的Async Await功能一起使用带MSTest的SpecFlow可以使用async / await执行代码,但不等待结果。
我已更改BindingInvoker.cs并升级到.NET 4,以支持异步任务,并且现在接收IOC并非初始化错误。
https://github.com/robfe/SpecFlow/commit/507368327341e71b2f5e2a4a1b7757e0f4fb809d
答案
这里的问题是,如果我在后台线程上放一些东西,然后在测试执行模式下,主线程对此一无所知,它只是跳到下一段代码来执行并验证结果,但提示点值不在后台线程上更新。因此给出错误的断言。处理此问题的方法是使主线程等待/休眠,直到后台工作结束。示例:
另一答案
异步支持已添加到SpecFlow中,并将包含在文本发行版中。您可以使用CI版本进行检出。
另一答案
是。 SpecFlow确实支持异步步骤见https://specflow.org/documentation/Asynchronous-Bindings/例如:
以上是关于SpecFlow测试平台是否支持异步任务?的主要内容,如果未能解决你的问题,请参考以下文章
使用 Task 替换 ThreadPool ,异步监测所有线程(任务)是否全部执行完毕