当我在IDEA中右键单击特定功能文件(或场景甚至场景大纲)时,@txn
标记被尊重,SpringTransactionHooks#startTransaction
被调用,每个场景都被视为transacional。
当我通过runner类运行它们时,无论我是将它放在Feature级别还是Scenario Outline上,都会忽略该标记。
我的Cucumber跑步者课程,在这里看不多:
@RunWith(Cucumber.class)
@CucumberOptions(features = "src/test/resources/features")
public class CucumberTest {}
答案 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示例。