因此,我一直很难通过Cucumber/Scala集成来降低依赖关系。我终于有了一个简单的步骤定义运行,但当我按control+空格键时,步骤定义列表不会显示在我的功能文件中。但是,当我运行特性文件时,它运行成功。
测试转轮
package CucumberTest
import cucumber.api.CucumberOptions
import cucumber.api.junit.Cucumber
import org.junit.runner.RunWith
@RunWith(classOf[Cucumber])
@CucumberOptions(
features = Array("Feature")
,glue= Array("stepDefinition")
,plugin = Array ("pretty", "html:target/cucumber/html")
)
class TestRunner {
def main(args: Array[String]): Unit = {
println("Hi")
}
}
步骤定义文件
import cucumber.api.scala.{ ScalaDsl, EN }
class Test_Steps extends ScalaDsl with EN{
Given("""^this pre condition$""") { () =>
println("YOOOOOOOOO!!!")
}
When("""^I do this$""") { () =>
//// Write code here that turns the phrase above into concrete actions
}
Then("""^I can verify that$""") { () =>
//// Write code here that turns the phrase above into concrete actions
}
Then("""^I can also verify that$""") { () =>
//// Write code here that turns the phrase above into concrete actions
}
Step 'this pre condition' does not have a matching glue code
以下是一些与Cucumber/Scala相关的依赖关系
<!-- https://mvnrepository.com/artifact/info.cukes/cucumber-java -->
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-java</artifactId>
<version>1.2.4</version>
</dependency>
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-scala_2.11</artifactId>
<version>1.2.4</version>
</dependency>
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-junit</artifactId>
<version>1.2.4</version>
</dependency>
<dependency>
<groupId>info.cukes</groupId>
<artifactId>gherkin</artifactId>
<version>2.12.2</version>
</dependency>
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-core</artifactId>
<version>1.2.4</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-nop</artifactId>
<version>1.7.12</version>
</dependency>
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>2.11.8</version>
</dependency>
因此,我认为问题是依赖关系不匹配以及没有将Junit添加到我的项目路径的综合问题。
这就是我的Test_Steps类现在的样子。我从Cucumber java API导入了库。
package stepDefinition
//import org.slf4j.LoggerFactory
import cucumber.api.java.en.Given;
import cucumber.api.scala._
import cucumber.api.java.en.Then;
import cucumber.api.java.en.When;
import cucumber.api.java8._
import cucumber.api.scala.{ ScalaDsl, EN }
import cucumber.runtime.java.StepDefAnnotation
@StepDefAnnotation
class Test_Steps extends ScalaDsl with EN {
//this works
@Given("""^this pre condition$""")
def this_pre_condition() = {
println("Hello")
}
@When("""^blah condition$""")
def when_condition() = {
println("In the when statement -- ")
}
}
我的功能文件的内容帮助功能现在工作。
控制台输出
在中创建android模块需要一点帮助
内嵌的帮助文档 记不住一些函数或者搜索方法?随时可以参考 Timelion 内嵌的帮助文档。 Timelion 表达式语言是嵌入式的。点击页面顶部的 Docs 菜单查看可用函数和详细内嵌手册。在查询命令行中输入函数, Timelion 就会实时显示参数提示。
我所拥有的 我正在使用Selenium WebDriver运行Cucumber JVM来自动化我们的系统测试用例。这些测试用例目前使用XRay测试管理插件存储在JIRA中。XRay还提供了获取特性文件以及将结果上传到JIRA的API。 我已经创建了一个自定义的JIRA实用程序类来下载测试作为特性文件,并将测试结果从JIRA中上载到JIRA中,同时还演示了它的工作原理。它们分别在Cucumber R
有人能解释一下这是怎么回事吗?非常感谢任何帮助!