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测试平台是否支持异步任务?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 XCTestCases 实现异步任务依赖?

celery异步,延时任务, 周期任务

使用 Task 替换 ThreadPool ,异步监测所有线程(任务)是否全部执行完毕

阿里云 Serverless 异步任务处理系统在数据分析领域的应用

平台项目~celery 异步之定时任务功能

任务在另一个线程 .NET 上异步运行