2017-04-21 85 views
1

我在運行這個黃瓜項目下面有問題。這顯示在7號線,8,20和32在日食中用bdd運行黃瓜

package stepDefinition; 

import cucumber.api.java.en.Given; 

public class aptitudeTest { 

@Given ("I have successfully ([^\"]*)") 
public void I have (String str) 
{ 
    if (str.equals("registered")) 
    { 
     System.out.println("registered Automation"); 
    } 
    { 
     System.out.println("unregistered Automation"); 
    } 
} 

@When ("I enter my valid ([^\"]*)") 
public void I enter (String str) 
{ 
    if (str.equals("credentials")) 
    { 
     System.out.println("credentials Automation"); 
    } 
    { 
     System.out.println("details Automation"); 
    } 
} 

    @Then ("I should see the welcome ([^\"]*) him") 
    public void I should (String str) 
    { 
     if (str.equals("welcome")) 
     { 
      System.out.println("welcome to your account"); 
     } 
     { 
      System.out.println("please enter the correct credential"); 
     } 
    } 
} 

下面的錯誤是Feature文件

Scenario:I should see a message when i successfully logged in 

Given I have successfully registered 
When I enter my valid credentials 
Then I should see the welcome message 
+2

我的意思是沒有不敬,但你最好的一步是採取一個介紹性的java類。 –

+1

你應該看看你是如何命名的方法?名稱不能有空格。 https://docs.oracle.com/javase/tutorial/java/nutsandbolts/variables.html#naming – Grasshopper

回答

1

有許多2個問題與特徵文件,以及如何給定的,當&然後是用過的。

  1. 該方法的名稱不應該有任何空格。
  2. 如果你將參數傳遞給方法,它應該用引號括起來。 ex。我已經成功註冊應該是'我已經成功'註冊''。此外,相應的方法應註釋爲「我已成功」([^ \「] *)\」 - 您應該有一個轉義字符。註冊將是通過的字符串。
+0

有沒有必要引用應該被捕獲的單詞。你可以,但如果你這樣做的話,你最終會得到更復雜的正則表達式。 –

+0

請檢查:https://cucumber.io/docs/reference/jvm#javaAC 可能有幫助 –