2016-11-18 2 views
0

In testNG, haben wir eine Methode, um abhängig von Methoden als Teil des datengesteuerten Testzyklus der Elternmethode zu laufen?In testNG, haben wir eine Methode, um abhängig von Methoden als Teil des datengetriebenen Testzyklus der Elternmethode zu laufen?

Ex. Angenommen, wir müssen wie im folgenden Code für jeden Benutzer Login- und Logout-Szenario testen, Wie kann dieses Szenario erreicht mit testng

@Test(dataProvider = "userDataProvider") 
    public void testLogin(User user){ 
    //Some Logic goes here 
    } 

@Test(dependsOnMethods="testLogin") 
    public void testLogOut(){ 
    //Some Logic goes here 
    } 

    @DataProvider(name ="userDataProvider") 
    public Object[][] provideData() { 

     return new Object[][]{ 
       {new User("user1","user1")}, 
       {new User("user2","user2")}, 
       {new User("user3","user3")}, 
     }; 
    } 

Antwort

2

Sie können dies mit TestNG Fabriken erreichen, die durch Datenanbieter betrieben werden.

Hier ist ein Beispiel, das Ihnen zeigt, wie Sie dies tun.

public class TestClass { 
    private User user; 

    @Factory(dataProvider = "userDataProvider") 
    public TestClass(User user) { 
     this.user = user; 
    } 

    @Test 
    public void testLogin() { 
     //Some Logic goes here that uses this.user 
    } 

    @Test (dependsOnMethods = "testLogin") 
    public void testLogout() { 
     //Some Logic goes here that uses this.user 
    } 

    @DataProvider(name ="userDataProvider") 
    public static Object[][] provideData() { 
     return new Object[][] { 
      { new User("user1","user1") }, 
      { new User("user2","user2") }, 
      { new User("user3","user3") } 
     }; 
    } 
} 
Verwandte Themen