karate - 功能文件中的空手道强制场景在多个线程上顺序执行
问题描述
当通过竹子/Maven运行我的所有功能文件时,使用“clean test”命令,我如何强制每个功能文件中的场景按顺序运行?在多个线程上。例如,如果我有 100 个功能文件,每个功能文件中有 20 个场景,当我用 5 个线程运行它们时,功能文件的顺序无关紧要,功能 10 可以在功能 15 之前运行,但里面的场景每个功能必须按顺序运行。我需要运行功能 10 场景 1,然后功能 10 场景 2,依此类推。
所以有5个线程:
线程 1 可以运行功能 1
线程 2 可以运行功能 10
线程 3 可以运行功能 3
线程 4 可以运行功能 2
线程 5 可以运行功能 4
但我需要每个场景 1 到 20,按顺序执行。
所以有5个线程:
线程 1 功能 1 场景 1,然后是场景 2,然后是场景 3,ext。
线程 2 功能 10 场景 1,然后是场景 2,然后是场景 3,ext。
线程 3 功能 3 场景 1,然后是场景 2,然后是场景 3,ext。
线程 4 功能 2 场景 1,然后是场景 2,然后是场景 3,分机。
线程 5 功能 4 场景 1,然后是场景 2,然后是场景 3,ext。
@parallel=false 是答案吗?我真的需要将它添加到每个功能文件的顶部吗?就像我说的那样,我的存储库中可以有 100 个功能文件,也许更多。或者我必须在命令行上添加 @parallel=false 吗?如果是这样,它会像其他选项一样,“-Dparallel=false”吗?
解决方案
如果你的Scenario
-s 被写成它们相互依赖,这是一个不好的做法。请仔细阅读:https ://stackoverflow.com/a/46080568/143475 。
所以是的,空手道不支持“全局”开关来启用您描述的行为。原因之一是阻止不良做法。
您必须添加@parallel=false
所有功能。由于一些行为变化,即使这可能在 1.0 版本中也没有您想要的效果:https ://github.com/intuit/karate/wiki/1.0-upgrade-guide
推荐阅读
- vue.js - bootstrap-vue-js modal 无法显示
- android - 在 API > 26 中的 BOOT_COMPLETE 上触发作业
- python - Python - 根据 2 个标准(案例和时间序列)组合 2 个数据库
- kotlin - 是否可以使用插值字符串模板调用 kotlin 的 js 函数?
- javascript - 检查单选按钮是否被选中以及值是否匹配
- c# - 使用三层的动态侧边菜单
- c# - 获取每个月的周数
- vb.net - 如何从 Windows 资源管理器打开文件并将其加载到富文本控件中?
- vim - 如何将光标定位在函数的圆括号内(Vim 编辑器)?
- node.js - 获取网络::ERR_EMPTY_RESPONSE