空手道建议,要在CI环境中运行所有测试,应该将*Test.java文件添加到功能文件(按层次结构)的上方,然后使用- mvn test命令运行。在运行测试之前,我使用Runner.java文件创建测试数据,然后进行清理。我在IDE中运行这个运行器文件,一切都运行得很好-数据创建完成,运行同一个包中的所有功能文件,然后执行清理。我使用Runner文件创建数据的原因是,我使用空手道本身来创建测试数据,并且Runner文件将有关所创建数据的一些信息传递给功能文件以运行api测试。我早些时候发布了一个关于如何实现这一点的问题,请参考这个答案- https://stackoverflow.com/a/55931786/4741035
所以现在我在我的项目中有了一个*Test.java文件,我使用- mvn test运行它。这将运行所有功能文件,并且测试失败,因为根本不执行Runner.java。
如果特征文件首先出现,为什么空手道不运行Runner文件?
非常感谢您的帮助。
发布于 2019-05-06 12:24:20
如果您试图在所有测试之前“运行一次”某些东西,请使用此处记录的karate.callSingle()
:https://github.com/intuit/karate#hooks
var result = karate.callSingle('classpath:demo/headers/common-noheaders.feature', config);
在上面的特性(或JS)中,您可以使用Java interop调用Java代码。
顺便说一句,我不同意你链接的答案,因为上面的方法。
https://stackoverflow.com/questions/55999937
复制相似问题