作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 Cucumber 中,我如何在步骤定义类之间传递变量。我正在尝试在 Scala 中实现。
环顾四周,我看到有人建议使用 Guice 或 Picocontainer 或任何其他 DI 框架。但还没有真正遇到过 Scala 中的示例。
例如下面的示例,如何使用 DI 传递变量?
Provider.scala,
class Provider extends ScalaDsl with EN with Matchers with WebBrowser {
......
When("""I click the Done button$""") {
val doneButton = getElement(By.id(providerConnectionButton))
doneButton.click()
}
Then("""a new object should be created successfully""") {
// Pass the provider ID created in this step to Consumer definition
}
}
消费者.scala,
class Consumer extends ScalaDsl with EN with Matchers with WebBrowser {
......
When("""^I navigate to Consumer page$""") { () =>
// providerId is the id from Provider above
webDriver.navigate().to(s"${configureUrl}${providerId}")
}
}
最佳答案
您可以使用ThreadLocal来解决您的问题
这是解决方案的代码片段。
object IDProvider{
val providerId = new ThreadLocal[String]
def getProviderId: String = {
providerId.get()
}
def setProviderId(providerId: String): Unit = {
providerId.set(providerId)
}
}
跨不同步骤定义访问providerID。您只需调用 IDProvider.getProviderId
要设置providerID的值,只需调用IDProvider.setProviderId(PROVIDER_ID)
关于scala - 在 Cucumber 步骤定义之间传递变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40369551/
根据 Android docs ,activity生命周期如下: onCreate() onStart() onResume() onPause() onStop() onDestroy() 问题是,
我有一门类(class)有很多专栏,但这个问题只需要其中三个: ---------------------------------------- | start_date | start_time
给定在同一个 Tomcat 6 上运行的两个 Web 应用程序。如果您从一个应用程序到另一个应用程序进行 http 调用,Tomcat 是否会“短路”此调用,或者它会在调用之前一直在 interweb
我是一名优秀的程序员,十分优秀!