空手道启动功能

时间:2018-12-27 03:08:59

标签: karate

需要在所有测试用例执行之前执行“运行状况检查”测试(功能)。 这就像执行一堆测试用例之前的初步测试。如果任何预检查失败,则需要解决方案退出平台。

1 个答案:

答案 0 :(得分:1)

使用karate-config.js / karate.callkaratecallSingle执行健康检查功能,

如果您的功能未能使用Java System.exit强制终止测试。

karate-config.js的片段

try{
   var healthCheckInput = {};
   var healthcheckCall = karate.callSingle("healthCheck.feature",healthCheckInput );

   if (!<healcheckCondition>){
       java.lang.System.exit(0);
   }
 }
 catch(e){
   java.lang.System.exit(0);
 }

如果您的健康检查条件失败,这将迫使您退出执行。

不确定karate.abort()是否会从平台上退出,但是如果您打算实施,也请尝试此操作。

  

注意:由于System.exit()强制中止了您的执行,因此您将无法正确获取任何报告,但可以引用控制台日志/空手道日志   有待进一步调查。

编辑:

另一种方法

您可以在Junit @BeforeClass内部使用karate Java API运行健康状态检查功能。

@BeforeClass
    public static void startUpCheck() {
        Map<String, Object> args = new HashMap();
        args.put("inputOne", "valueOne");
        Map<String, Object> result = Runner.runFeature("classpath:stackoverflow/demo/healthCheck.feature", args, true);
       // also assert the 'result' if you want OR keep some assertions/match in your feature
    }