【发布时间】:2018-08-15 23:52:11
【问题描述】:
在搜索并没有找到合适的答案后,我在这里提出它。
我用@Test 编写了下面的简单类,当我尝试运行时,我得到“java.lang.Exception:测试类应该有一个公共零参数构造函数”错误。有人可以帮我解决这个问题吗?
package Shopping.Tests;
import Shopping.Config.TestData;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
@Slf4j
public class TestScenario1 {
private final TestData testData;
public TestScenario1(TestData testData) {
this.testData = testData;
}
@Test
public void sampleTest(){
log.info(testData.getBaseURL());
}
}
【问题讨论】:
-
无需搜索。只需阅读错误消息。非常清楚。一个测试类必须只有一个 public zero-argument 构造函数。这句话有什么不明白的?你的类是否有一个公共的零参数构造函数?我只看到一个构造函数,它的参数不止零。
-
消息说明了一切:您的测试必须只有一个构造函数,并且不能有参数,即必须是 `TestScenario1(TestData testData)` 而不是 `TestScenario1()`。然后查看如何将数据传递给该测试。
标签: java junit compiler-errors