如何在scala中实现场景大纲

How to implement scenario outlines in scala

我们目前正在使用 Scala 实施一些验收测试。

cuke中有场景大纲的概念

有谁知道如何在 Scala 中使用 FeatureSpec 实现这个?

提前致谢。

我认为场景大纲是一个黄瓜功能,我不确定您是否一定期望在现有的 Scala 测试库中找到奇偶校验。

话虽如此,我在我的一些项目中使用了 cucumber-scala 并使用了场景大纲,这是我使用的依赖项(检查更新版本,请不要假设这是最终结果这样做的方法):

"com.novocode" % "junit-interface" % "0.11-RC1" % "test",
"info.cukes" % "cucumber-core" % "1.1.8" % "test",
"info.cukes" % "cucumber-junit" % "1.1.8" % "test",
"info.cukes" %% "cucumber-scala" % "1.1.8" % "test",
"org.mockito" % "mockito-core" % "1.9.5" % "test"

这是我的跑步者的一个例子:

import cucumber.api.junit.Cucumber
import org.junit.runner.RunWith

@RunWith(classOf[Cucumber])
class CucumberRunner {}

这是加载大纲的给定子句示例 table:

Given("""^some data$""") { (t: DataTable) =>
  val input = t.asMaps(classOf[String], classOf[String])
  // use table data...
}

我把细节拿出来了,但那是处理像这样的 gerkin 文件(存储在 main/test/resources 同一个包中):

Background:
  Given some data
    |  a |    b |     c |         d |
    |  1 |    a |   0.0 | s030d1h60 | 
    |  2 |    a |   1.0 | s030d1h60 | 
    |  3 |    a |   2.0 | s030d1h60 |     
  And some setup parameter "q"
  When the input is processed by the mock item

Scenario: The input can be validated
  Then the input will be marked as valid

Scenario: The input will be transformed
  Then the input will be trasformed into "abcdef"

我知道这不是您想要的,但它对我来说是有用的,因为它是我第一次尝试在 Scala 中做一些类似 BDD 的东西。希望对你有帮助。