2016-07-28 20 views
0

Ich kann nicht mehr als eine Anmerkung über meinen Test schreiben.Espresso + Gurke - ist es möglich, einige Schritte mit einem Test zu behandeln

Für Szenario:

Feature: Login Tests 
    @example 
    Scenario: Login 
    Given I am on the Login Screen 
    When I login with "[email protected]" and "qq123456 

Ich habe zwei Arbeits Tests:

@Test 
    @Given("^I am on the Login Screen$") 
    public void i_am_on_the_Login_Screen() throws InterruptedException { 
     mLoginPage.waitForPageVisible(); 
    } 

    @Test 
    @When("^I login with \"([^\"]*)\" and \"([^\"]*)\"$") 
    public void i_login_with_and(String user, String password) throws InterruptedException { 
     mLoginPage.typeUser(user); 
     Espresso.closeSoftKeyboard(); 
     mLoginPage.typePassword(password); 
     Espresso.closeSoftKeyboard(); 
     mLoginPage.tapLoginBtn(); 
    } 

Und was würde Ich mag zu tun, es so zu fusionieren:

@Test 
@Given("^I am on the Login Screen$") 
@When("^I login with \"([^\"]*)\" and \"([^\"]*)\"$") 
public void i_login_with_and1(String user, String password) throws InterruptedException { 
    mLoginPage.waitForPageVisible(); 

    mLoginPage.typeUser(user); 
    Espresso.closeSoftKeyboard(); 
    mLoginPage.typePassword(password); 
    Espresso.closeSoftKeyboard(); 
    mLoginPage.tapLoginBtn(); 
} 

Aber ich Ich bin nicht in der Lage, einige Anmerkungen über einzelnen Test zu setzen. Ist es möglich?

+0

Ich bin mir nicht sicher, warum Sie einen Schritt benötigen, um auf dem Anmeldebildschirm zu sein. Fügen Sie das einfach zum Login-Schritt hinzu und entfernen Sie den Navigationsschritt vollständig. –

+0

Dies ist nur ein Beispiel. Mein Test-Framework ist ziemlich groß und ich denke über BDD nach. Ich möchte die Grenzen der Gurke sehen/testen. Das ist alles. – F1sher

Antwort

0
  1. Wenn Sie Gurken verwenden Sie brauchen nicht @Test Anmerkung
  2. Es ist möglich, viele Anmerkungen auf ein Verfahren

wie in Ihrem Beispiel zu setzen:

@Given("^I am on the Login Screen$") 
    @When("^I login with \"([^\"]*)\" and \"([^\"]*)\"$") 
    public void i_login_with_and1(String user, String password) throws InterruptedException { 
.... 
  1. Wenn Sie Sie Essiggurken-Szenario halten, wird die Methode i_login_with_and1 2 Mal aufgerufen.

Also, ja du kannst. Aber es ist besser, nicht (und ich sehe keinen Grund, warum Sie das brauchen). Auch wenn Sie die Gurke nicht ändern, werden die Tests wahrscheinlich fehlschlagen.