簡體   English   中英

返回錯誤“測試類應具有完全一個公共零參數構造函數”

[英]Error “Test class should have exactly one public zero-argument constructor” is returned

搜索並找不到適當的答案后,我在這里提出。

我用@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 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.
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM