2017-04-21 70 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 可能有帮助 –