Java 添加多个testng注释

Java 添加多个testng注释,java,annotations,testng,Java,Annotations,Testng,我想定义一个注释“MyAnnotations”,它包含一个名为“MyDefinedAnnotation”的注释列表。MyDefiniteAnnotation可以在运行案例之前和之后执行一些操作。我想多次运行testMix(),每次都使用不同的MyDefiniteAnnotaion 就这样, 第一次:MyDefindeAnnotation-A do something->run testMix()->MyDefindeAnnotation-A do something 第二次:MyDefinedA

我想定义一个注释“MyAnnotations”,它包含一个名为“MyDefinedAnnotation”的注释列表。MyDefiniteAnnotation可以在运行案例之前和之后执行一些操作。我想多次运行testMix(),每次都使用不同的MyDefiniteAnnotaion

就这样, 第一次:MyDefindeAnnotation-A do something->run testMix()->MyDefindeAnnotation-A do something 第二次:MyDefinedAnnotation-B做点什么->运行testMix()->MyDefinedAnnotation-B做点什么
如果只添加一个注释,我可以使用IInvokedMethodListener、override onStart()方法或beforeInvocation()方法。但是我想要多个注释,我不知道如何循环运行用例。

这感觉像是糟糕的设计,因为测试会临时耦合(例如,第二次运行意味着什么?现在运行一次测试和在30分钟内再次运行测试之间有什么区别?)。你到底想干什么?如果测试不同,为什么没有两个方法呢?MyDefinedAnnotaion将调用服务器来执行某些操作。服务器将根据MyDefinedAnnotaion的值执行不同的操作。因此,测试用例是相同的,但条件是不同的。我只想在不同的情况下重复使用案例。好的,服务器将根据发送的值做出不同的反应。我仍然不明白的是,为什么您不让我们假设
@mydefinedannotation(name=“A”)void testA()
@mydefinedannotation(name=“B”)void testB()
。如果这两个方法必须共享大量代码,那么您可以将其移动到它们调用的方法中。
@Test
@MyAnnotations({
@MyDefindeAnnotation(name="A"),
@MyDefindeAnnotation(name="B")
})
public void testMix(){}