2011-09-08 98 views
0

我已經配置了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的\,爲什麼不能找到我的定義是什麼?

回答