2017-01-11 2 views
0

Je souhaite voir un titre différent dans chaque cas de test.Comment définir un titre distinct pour chaque ensemble de données dans un test paramétré en testng?

Maintenant, le titre est créé à partir du nom de la méthode.

Same titles

Est-il possible d'obtenir un titre en quelque sorte comme une étape?

@Title("Maybe as step: {0}?????") 
@Step("{0}") 
@Test(dataProviderClass = Sorm3ExtractMainTest.class, dataProvider = "getJsonForDictDependDwlTest") 
public void Sorm3ExtractDictDependDwlTest 
    {...} 

Répondre

0

Si vous implémentez ITest, vous devriez être en mesure de préciser le nom du test que vous voulez.

public class YourClass implements ITest { 
    private String name; 

    @Step("{0}") 
    @Test(dataProviderClass = Sorm3ExtractMainTest.class, dataProvider = "getJsonForDictDependDwlTest") 
    public void Sorm3ExtractDictDependDwlTest { 
    name = "Maybe as step: {0}?????"; 
    ... 
    } 

    @Override 
    public String getTestName() { 
    return name; 
    } 
+0

Cette solution ne fonctionne pas correctement :( le nom est spécifié pour le test suivant cas de test: Null [Test de cas 1208495]; test cas 1.208.495 [Test Case 1208658] –

+0

Peut-être un TestNG et/ou Allure Btw, si possible, vous pouvez essayer de déplacer le fournisseur de données sur un constructeur d'usine: http://testng.org/doc/documentation-main.html#factories – juherr

0

Il semble que ce n'est pas implémenté dans l'adaptateur TestNG. Vous avez juste besoin de le réparer par vous-même et d'utiliser à la place de l'adaptateur Allure TestNG par défaut. Pour onTestStart() correctif new TestCaseStartedEvent(...).withLabels() il suffit d'ajouter .withTitle(). Ne pas oublier la vérification NPE. .