首页 > 解决方案 > 空手道 DSL - 如何将 afterFeature 与 @Karate.Test 一起使用

问题描述

我使用configure afterFeaturewith @Karate.Test,但似乎afterFeature function从未调用过。但是,当我使用 运行测试时@jupiter.api.Test void testParallel() {},它工作正常。

问题:这是一个错误还是预期的行为?

提前感谢您的帮助,

用户特征

Feature: Sample test

  Background:
    * configure afterScenario = function() { karate.log("I'm afterScenario"); }
    * configure afterFeature = function() { karate.log("I'm afterFeature"); }

  Scenario: Scenario 1
    * print "I'm Scenario 1"

  Scenario: Scenario 2
    * print "I'm Scenario 2"

UsersRunner.java - 不工作

class UsersRunner {
    
    @Karate.Test
    Karate testUsers() {
        return Karate.run("users").relativeTo(getClass());
    }
}

/* karate.log
11:44:01.598 [main] DEBUG com.intuit.karate.Suite - [config] classpath:karate-config.js
11:44:02.404 [main] INFO  com.intuit.karate - karate.env system property was: null 
11:44:02.434 [main] INFO  com.intuit.karate - [print] I'm Scenario 1 
11:44:02.435 [main] INFO  com.intuit.karate - I'm afterScenario 
11:44:02.447 [main] INFO  com.intuit.karate - karate.env system property was: null 
11:44:02.450 [main] INFO  com.intuit.karate - [print] I'm Scenario 2 
11:44:02.450 [main] INFO  com.intuit.karate - I'm afterScenario 
*/

示例Test.java - 作品

class ExamplesTest {

    @Test
    void testParallel() {
        Results results = Runner.path("classpath:examples")
                .tags("~@ignore")
                //.outputCucumberJson(true)
                .parallel(5);
        assertEquals(0, results.getFailCount(), results.getErrorMessages());
    }
}

/* karate.log
11:29:48.904 [main] DEBUG com.intuit.karate.Suite - [config] classpath:karate-config.js
11:29:48.908 [main] INFO  com.intuit.karate.Suite - backed up existing 'target/karate-reports' dir to: target/karate-reports_1621308588907
11:29:49.676 [pool-1-thread-2] INFO  com.intuit.karate - karate.env system property was: null 
11:29:49.676 [pool-1-thread-1] INFO  com.intuit.karate - karate.env system property was: null 
11:29:49.707 [pool-1-thread-2] INFO  com.intuit.karate - [print] I'm Scenario 2 
11:29:49.707 [pool-1-thread-1] INFO  com.intuit.karate - [print] I'm Scenario 1 
11:29:49.707 [pool-1-thread-2] INFO  com.intuit.karate - I'm afterScenario 
11:29:49.707 [pool-1-thread-1] INFO  com.intuit.karate - I'm afterScenario 
11:29:49.709 [pool-2-thread-1] INFO  com.intuit.karate - I'm afterFeature 
11:29:50.116 [pool-2-thread-1] INFO  com.intuit.karate.Suite - <<pass>> feature 1 of 1 (0 remaining) classpath:examples/users/users.feature
*/

标签: karate

解决方案


你能升级到最新的 1.0.1 - 如果你仍然看到问题,这是一个错误,请按照这个过程:https ://github.com/intuit/karate/wiki/How-to-Submit-an-Issue


推荐阅读