小编new*_*qlz的帖子

如何从junit扩展返回值给@Test?

我在每个@Test 上都有带有 allure2 @Tmslink("1234") 注释的测试。所以,我需要获取 @TmsLink 值并在我的测试中使用它。我在扩展中有注释值,但我如何提供它来测试?

public class TmsLink implements BeforeTestExecutionCallback {

    private String tmsLink;

    @Override
    public void beforeTestExecution(ExtensionContext context)  {
        findAnnotation(context.getElement(), TmsLink.class).ifPresent(link -> this.tmsLink = link.value());
    }    
    public String getTmsLink() {
        return tmsLink;
    }
}

@ExtendWith(TmsLink .class)
public abstract class Tests {

}
Run Code Online (Sandbox Code Playgroud)

使用 Junit4,它只是:

@Rule 
public TmsLink extension = new TmsLink();
extension.getTmsLink();
Run Code Online (Sandbox Code Playgroud)

java allure junit5 junit5-extension-model

1
推荐指数
1
解决办法
586
查看次数

标签 统计

allure ×1

java ×1

junit5 ×1

junit5-extension-model ×1