当运行Junit4 Test.java文件进行测试时,为什么在运行功能部件文件之前未运行空手道运行程序文件

时间:2019-05-06 06:37:31

标签: karate

Karate建议,要在CI环境中运行所有测试,应在功能文件上方(层次结构中)添加* Test.java文件,然后使用-mvn test命令运行。 我在运行测试之前使用Runner.java文件创建测试数据,然后进行清理。我在IDE中运行了该运行程序文件,一切运行良好-创建了数据,运行了同一程序包中的所有功能文件,然后执行了清理。之所以使用Runner文件来创建数据,是因为我使用空手道本身来创建测试数据,并且Runner文件将有关已创建数据的一些信息传递给功能文件以运行api测试。我之前发布了有关如何实现此目标的问题,请参考以下答案-https://stackoverflow.com/a/55931786/4741035

所以现在我的项目中有一个* Test.java文件,该文件使用-mvn test运行。这将运行所有功能部件文件,并且由于完全不执行Runner.java而导致测试失败。

如果功能文件首先存在,为什么不空手道运行Runner文件?

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

如果您尝试在所有测试之前“一次”运行某事,请使用此处记录的karate.callSingle()https://github.com/intuit/karate#hooks

var result = karate.callSingle('classpath:demo/headers/common-noheaders.feature', config);

在上述功能(或JS)中,您可以使用Java互操作调用Java代码。

由于上述方法,我不同意您所链接的答案。