当通过测试类运行功能时,@ txn被忽略

时间:2017-06-18 13:00:56

标签: java intellij-idea transactions cucumber

当我在IDEA中右键单击特定功能文件(或场景甚至场景大纲)时,@txn标记被尊重,SpringTransactionHooks#startTransaction被调用,每个场景都被视为transacional。

当我通过runner类运行它们时,无论我是将它放在Feature级别还是Scenario Outline上,都会忽略该标记。

我的Cucumber跑步者课程,在这里看不多:

@RunWith(Cucumber.class)
@CucumberOptions(features = "src/test/resources/features")
public class CucumberTest {}

1 个答案:

答案 0 :(得分:2)

cucumber.api.spring添加到粘合剂似乎是关键,因为这是类SpringTransactionHooks所在的包。

请注意,通过定义glue您将覆盖其默认值,请确保glue现在包含您应用的类。

@RunWith(Cucumber.class)
@CucumberOptions(
    glue = {"cucumber.api.spring", "my.package.app.classes"},
    features = "src/test/resources/features")
public class CucumberTest {}

请参阅spring-txn示例。