gpt4 book ai didi

java - JUnit 自定义运行器不工作?

转载 作者:行者123 更新时间:2023-11-28 01:57:45 25 4
gpt4 key购买 nike

我正在尝试编写一个自定义 Runner,它只是以随机顺序执行测试。运行者:

public class TestClassRunnerForParameters extends BlockJUnit4ClassRunner {
public TestClassRunnerForParameters(Class<?> type) throws Exception {
super(type);
}

protected java.util.List<org.junit.runners.model.FrameworkMethod> computeTestMethods() {
java.util.List<org.junit.runners.model.FrameworkMethod> methods = super
.computeTestMethods();
Collections.shuffle(methods);
return methods;
}
}

现在,如果它不是参数化测试,它就可以正常工作。是否可以使用参数测试来做到这一点?实现参数化接口(interface)?

最佳答案

我会说这个错误是非常 self 描述的:

Custom runner class TestClassRunnerForParameters should have a public constructor with signature TestClassRunnerForParameters(Class testClass)

您的类没有具有该签名的构造函数。它唯一的构造函数有参数 Class<?> type , List<Object[]> parameterListint i .您应该删除后两个参数。另外,该构造函数不是 public ;你应该添加 public在它的前面。

此外,如果您正在尝试构建参数化测试,您可能会对 org.junit.runners.Parameterized 感兴趣亚军,因为它正是这样做的。这里有个好tutorial .

关于java - JUnit 自定义运行器不工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15972430/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com