gpt4 book ai didi

java - 返回错误 "Test class should have exactly one public zero-argument constructor"

转载 作者:行者123 更新时间:2023-12-02 10:44:01 29 4
gpt4 key购买 nike

在搜索并没有找到正确的答案后,我在这里提出它。

我用@Test 编写了下面的简单类,当我尝试运行时,我得到“java.lang.Exception:测试类应该只有一个公共(public)零参数构造函数”错误。有人可以帮我解决这个问题。

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 TestScenario1(TestData testData) {

您需要一个无参数构造函数:
public TestScenario1() { //or have no explicit constructor declared at all

初始化测试数据通常在带有 @Before 注释的方法中完成。 (假设 junit 是您的测试框架 - 请参阅 @Before@BeforeClass )
public TestScenario1() {}
@Before
public void prepareTestData() {
this.testData = fetchTestData()...//It can't be passed in as parameter.
}

关于java - 返回错误 "Test class should have exactly one public zero-argument constructor",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51862007/

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