我已经用Specflow 2.0、nUnit 3.X、TeamCity和Visual 2013年编写了自动化测试。我试图并行运行这些测试,但是它们失败了,因为代码使用静态类/对象。
在Specflow网站上,建议使用并行内存执行(APPDOMAIN)隔离 http://www.specflow.org/documentation/Parallel-Execution/来运行线程安全测试(如果体系结构依赖于静态)
但没有关于如何做到这一点的信息,甚至谷歌我也找不到任何相关的文章。
如果有人能帮助我理解我们如何做到这一点,我真的很感激。
谢谢你的帮助,萨蒂
发布于 2016-10-24 07:37:20
如何配置隔离取决于您正在使用的测试运行程序。
我不能100%确定NUnit是否支持appdomain隔离,但是一个很好的开始就是Par等位属性文档:https://github.com/nunit/docs/wiki/Parallelizable-Attribute。
如果您使用的是AppDomain ( SpecFlow+Runner,http://www.specflow.org/plus/),则可以使用http://www.specflow.org/plus/。
下面是SpecFlow+Runner:https://the-engineers.net/2016/04/08/using-specflowrunners-parallelization-features/中不同模式的博客
全面披露:我是SpecFlow+Runner的开发人员之一
发布于 2020-04-23 12:29:29
这就是为什么您不应该在代码中使用静态类的原因,因为静态类(就像globals一样)被认为是有害的,很难测试
https://stackoverflow.com/questions/40210185
复制相似问题