2017-01-11 22 views
0

Я хочу видеть другое название в каждом тестовом случае.Как установить отдельный заголовок для каждого набора данных в параметризованном тесте в testng?

Теперь название создается из имени метода.

Same titles

Можно ли получить название как-то в качестве шага?

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

ответ

0

Если вы реализуете ITest, вы должны быть в состоянии указать имя теста вы хотите.

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

Это решение не работает должным образом :(указано Имя для следующего теста Тестовые: Null [Case Test 1208495]; Тестовый случай 1208495 [Test Case 1208658] –

+0

Может TestNG и/или Allure Btw, если возможно, вы можете попытаться перенести dataprovider на фабричный конструктор: http://testng.org/doc/documentation-main.html#factories – juherr

0

Похоже, что это просто не реализовано в адаптере TestNG. Вам просто нужно исправить это для себя и использовать вместо адаптера Allure TestNG по умолчанию. Для onTestStart() исправить new TestCaseStartedEvent(...).withLabels() просто добавьте .withTitle(). Не забывайте о проверке NPE. .