簡體   English   中英

黃瓜,Java:特定文件中的步驟定義忽略

[英]Cucumber, Java: Step definition ignore in specific file

我有一個簡單的設置,包括 Cucumber 功能文件和 Java 步驟定義文件。

feature.feature -> StepDefinition.java -> PageObject.java

具體來說:

STEP:                              Step definition file:                          
Given I am logged in as ....    -> LoginSteps.java
And I am at the workspace       -> WorkspaceSteps.java
And I start a new application   -> WorkspaceSteps.java
And I accept                    -> AcceptPage.java  - does not work. 
- BUT:
And I accept                    -> AcceptPage.java  - DOES work

如上所示,我在這里使用了三步定義文件。 黃瓜可以識別兩個文件中的步驟定義。 但是當它在 AcceptPage.java 文件中定義時,它甚至不會嘗試運行“我接受”步驟。 如果我將它移動到 WorkspaceSteps.java 文件,它運行良好。

沒有關於缺少步驟定義的抱怨。 事實上,沒有錯誤消息,只是測試結果呈橙色。

IntelliJ 運行窗口:

Test results                     4s462ms
- Feature: Complete application  4s462ms
- - Scenario: Budget             4s462ms
- - - And I accept               0ms

.feature 文件:

Scenario: Budget
# Login/workspace
Given I am logged in as "12048746711"
And I am on the Workspace screen
And I start a new application
  
# Accept
And I accept

登錄步驟.java:

@Given("^I am logged in as \"([^\"]*)\"$")
public void iLogInWithId(String id) {
    login(createPersonInfo(id));
}

工作區步驟.java

@Given("^And I am on the Workspace screen$")
public void iAmOnScreenWorkspace() {
    iAmOnWorkspace();
}

@Given("^I start a new application$")
public void startNewApplication() {
    workSpacePage.applyForLoan.click();
}

接受頁面

@Given"^I accept$")
public void iAccept() {
    System.out.print("");
    acceptPage.iAccept.click();
}

指向 AcceptPage.java 上的 iAccept() 方法的步驟沒有運行。 即使我在 System.out.print() 行上設置斷點並進行調試,它也不會停止甚至到達那里。

但是,如果我將整個 iAccept() 方法移動到 WorkSpace.java 文件中,則一切正常。

有任何想法嗎?

當然,我已經使 IntelliJ 的緩存無效並重新啟動。 我什至嘗試創建一個全新的 Steps 文件,其中包含一個具有新名稱的新步驟。 這是一樣的:黃瓜測試拒絕去任何地方,除了 WorkspaceSteps.java 文件。 這開始看起來完全是愚蠢的、滑稽的和荒謬的。

事實證明,解決方案真的很愚蠢。 出於某種原因,IntelliJ 已經從配置中的 Glue 中刪除了頂級包,而是添加了特定的包。 因此,當使用不屬於這些包的文件時,它會被忽略而沒有進一步解釋。 刪除特定包並進入頂級包解決了問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM