如何使cuke4duke找到步骤定义
问题描述:
我已经配置了cuke4duke和Cucumber以及maven和书写功能和步骤定义文件。如何使cuke4duke找到步骤定义
My功能文件位于[PROJECTDIR] \特征\ example2.feature
Feature: Example of a feature file
As some aspiring cuke4duke user
I want an example of how it works
So that I can easily setup my project to use it
# This should pass
Scenario: A simple passing scenario
Given the letter 'A'
When I check the letter
Then the letter should be 'A'
我的步骤定义位于[PROJECTDIR] \ SRC \测试\ java中\ Example2Steps.java
package test.java;
import cuke4duke.annotation.I18n.EN.Given;
import cuke4duke.annotation.I18n.EN.Then;
import cuke4duke.annotation.I18n.EN.When;
import static org.junit.Assert.assertThat;
import static org.hamcrest.CoreMatchers.is;
public class Example2Steps {
private char theLetter;
@Given("^the letter 'A'$")
public void gimmeALetter(final char theLetter) {
this.theLetter = theLetter;
}
@When("^I check the letter$")
public void checkThem() {
// just a stub
}
@Then("^the letter should be 'A'$")
public void checkTheLetter(final char aLetter) {
assertThat(theLetter, is(aLetter));
}
}
当我在Windows命令提示符的项目目录中运行“mvn integration-test”时,它生成的很好,但告诉我该场景和步骤未定义。
输出:
[INFO] [cuke4duke:cucumber {execution: run-features}]
[INFO] Feature: Example of a feature file
[INFO] As some aspiring cuke4duke user
[INFO] I want an example of how it works
[INFO] So that I can easily setup my project to use it
[INFO]
[INFO] # This should pass
[INFO] Scenario: A simple passing scenario # features\example2.feature:7
[INFO] Given the letter 'A' # features\example2.feature:8
[INFO] When I check the letter # features\example2.feature:9
[INFO] Then the letter should be 'A' # features\example2.feature:10
[INFO]
[INFO] 1 scenario (1 undefined)
[INFO] 3 steps (3 undefined)
[INFO] 0m0.053s
[INFO]
[INFO] You can implement step definitions for undefined steps with these snippets:
[INFO]
[INFO] Given /^the letter 'A'$/ do
[INFO] pending # express the regexp above with the code you wish you had
[INFO] end
[INFO]
[INFO] When /^I check the letter$/ do
[INFO] pending # express the regexp above with the code you wish you had
[INFO] end
[INFO]
[INFO] Then /^the letter should be 'A'$/ do
[INFO] pending # express the regexp above with the code you wish you had
[INFO] end
[INFO]
[INFO] If you want snippets in a different programming language, just make sure a file
[INFO] with the appropriate file extension exists where cucumber looks for step definitions.
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
至于我可以在任何地方阅读,cuke4duke查找的步骤定义在[PROJECTDIR]的\ src \测试\ java的\,为什么不能找到我的定义是什么?
答
最后,在我的一些Maven pom标记中导致错误的情况是错误的。 我使用以下 示例项目对我的pom和其他项目文件进行了交叉检查,现在它全部正常工作!