有没有人有sbt 0.13和Scala 2.11黄瓜项目的例子?
cucumber-scala_2.11
和sbt-cucumber-plugin" % "0.8.0"
(该插件是最新的)?.feature
文件在哪里?答案 0 :(得分:10)
好的,我找到了一个有以下警告的解决方案:我没有使用sbt。
我们将首先编写黄瓜功能和步骤。然后我们将写一个" Runner"类,将由JUnit运行器运行(它将忽略黄瓜的存在)
第1步。仅仅依靠一件事来编写黄瓜特征和步骤!
libraryDependencies += "info.cukes" % "cucumber-scala_2.11" % "1.2.4"
第2步:现在我们依赖junit(用于编写测试运行器)和cucumber-junit连接库,它们将允许我们告诉 JUni运行我们的黄瓜测试:
libraryDependencies += "info.cukes" % "cucumber-junit" % "1.2.4"
libraryDependencies += "junit" % "junit" % "4.12"
第3步:编写功能和步骤定义(根据我的经验,它们应放在测试中的同一文件夹中):
# My.feature
Feature: blah blah
....
// MySteps.scala
...
第4步:编写我们的测试跑步者:
import cucumber.api.junit.Cucumber
import org.junit.runner.RunWith
@RunWith(classOf[Cucumber])
class RunTests extends {
}
第5步 :(可选)与IntelliJ集成
a)在IntelliJ中启用JUnit。这将允许我们通过运行我们的junit runner来运行我们的黄瓜测试。美丽!
搜索" JUnit"并确保它已启用
现在我们只需右键单击.feature 文件中的并选择Run!
b)为Scala IntelliJ插件启用 Cucumber。 (确保启用了Scala插件)。这使IntelliJ能够确定如何将要素文件与scala文件相关联。如果没有此功能,您的要素文件将始终以黄色突出显示,并显示错误undefined step reference
:
Cucumber for Scala
插件重启IntelliJ。
现在您的功能文件将正确突出显示!
答案 1 :(得分:2)
要添加到@drozzy的答案中,特别是针对sbt
:
在您的junit-interface
项目中添加sbt
作为依赖项
"com.novocode" % "junit-interface" % "0.11" % Test
按照第4步中@drozzy所示编写测试运行程序。 确保包括JUnit和Cucumber之间的连接:
@RunWith(classOf[Cucumber])
一旦这样做,sbt test
将运行您的JUnit测试,并且其中一个“ JUnit测试”将运行您的Cucumber测试。