cucumber java_如何在Cucumber Java中的步骤之间传递变量值?

在Cucumber Java中实现步骤之间共享数据的最佳实践是通过依赖性注入(DI)容器,如PicoContainer。每个场景会获得一个单独的`MySharedData`实例,并通过构造函数注入到步骤定义类中,确保场景间无状态泄漏。Cucumber支持多种DI集成,包括PicoContainer、Guice、Weld、Spring和OpenEJB,需要将相应的库添加到类路径或POM中。
摘要由CSDN通过智能技术生成

在Cucumber for

Java(cucumber-jvm)中,在步骤之间共享数据的预期方式是使用依赖性集成(DI)容器 – 其中一些已与Cucumber集成.

使用DI的方法在容器之间略有不同,但这是使用PicoContainer的示例:

// MySharedData.java

public class MySharedData {

public String stringData;

}

// SomeStepDefs.java

public class SomeStepDefs {

private MySharedData sharedData;

public SomeStepDefs(MySharedData sharedData) {

this.sharedData = sharedData;

}

// StepDefs omitted

}

// MoreStepDefs.java

public class MoreStepDefs {

private MySharedData sharedData;

public MoreStepDefs(MySharedData sharedData) {

this.sharedData = sharedData;

}

// StepDefs omitted

}

DI容器将确保为每个场景创建单个MySharedData实例,并将其传递给需要它的每个步骤定义类.这种方法的好处是Cucumber确保场景之间没有共享状态泄漏,因为为每个场景重新创建注入的依赖项.

上面的示例使用构造函数注入(因此注入的依赖项由构造函数参数

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值