Java 7中向JUnit Test Watchman方法传递代理/委托/函数指针的任何方法
您好,关于上述问题,我们正在使用JUnit参数化测试运行程序进行Selenium自动化。我们有一些从中继承的基本测试类。我们有一个测试值班员。我想知道的是,是否有任何方法可以将代码传递给它。基本上,如果测试失败,我想实现一个全局重试机制。但是,可能需要一些设置代码。如果我使用参数化的runner,它将不会再次调用BeforeClass。我遇到了一些问题,其中过时的元素正在传播并导致其他测试失败Java 7中向JUnit Test Watchman方法传递代理/委托/函数指针的任何方法,java,selenium,junit,java-7,Java,Selenium,Junit,Java 7,您好,关于上述问题,我们正在使用JUnit参数化测试运行程序进行Selenium自动化。我们有一些从中继承的基本测试类。我们有一个测试值班员。我想知道的是,是否有任何方法可以将代码传递给它。基本上,如果测试失败,我想实现一个全局重试机制。但是,可能需要一些设置代码。如果我使用参数化的runner,它将不会再次调用BeforeClass。我遇到了一些问题,其中过时的元素正在传播并导致其他测试失败 public class BaseTest{ @Rule public MethodR
public class BaseTest{
@Rule
public MethodRule watchman= new TestWatchman() {
@Override
public void failed(Throwable e, FrameworkMethod method) {
//call retry code here, need to be able to pass a chunk of code
}
@Override
public void succeeded(FrameworkMethod method) {
watchedLog+= method.getName() + " " + "success!\n";
}
};
}
@RunWith(Parameterized.class)
public class Test extends BaseTest{
@BeforeClass
public static void beforeClass()
{
//set failure code
}
}
做这件事会不会再次在课前打电话?如果这是一个参数化测试,我不想再次运行所有的测试。只是失败 你能解释一下你想把什么样的代码注入TestWatchman.Log代码和其他设置代码吗。实际上,重试测试所需的任何内容。它可能是任何东西。强制WebDriver退出并重新打开(这在AfterClass中发生,但不会因参数化测试失败而调用)。