我正在嘗試運行 Junit4 測驗,但我無法運行它。我安裝了以下依賴項
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
我的測驗課看起來像這樣
package model.validators;
import org.junit.Assert;
import org.junit.Test;
import java.util.Arrays;
import java.util.List;
class UserValidatorTest {
@Test
public void shouldReturnTrueForValidPhoneNumbers() {
List<String> phoneNumbers = Arrays.asList(
"9876543210",
"7777543210"
);
boolean result = UserValidator.validateUserPhoneNumbers(phoneNumbers);
Assert.assertTrue(result);
}
}
當我嘗試運行此測驗時,出現以下錯誤
org.junit.runners.model.InvalidTestClassError: Invalid test class 'model.validators.UserValidatorTest':
我正在使用 IntellijIdea。知道這里出了什么問題嗎?TIA
嘗試更改依賴項、重新加載 Maven 專案、在 Junit 運行配置中設定正確的類路徑
uj5u.com熱心網友回復:
我可以看到你的班級UserValidatorTest是不公開的。公開您的課程后,您將能夠運行測驗。
package model.validators;
import org.junit.Assert;
import org.junit.Test;
import java.util.Arrays;
import java.util.List;
public class UserValidatorTest {
@Test
public void shouldReturnTrueForValidPhoneNumbers() {
List<String> phoneNumbers = Arrays.asList(
"9876543210",
"7777543210"
);
boolean result = UserValidator.validateUserPhoneNumbers(phoneNumbers);
Assert.assertTrue(result);
}
}
uj5u.com熱心網友回復:
JUnit4 要求一切都是公開的。
JUnit5 對測驗類的可見性更加寬容(測驗類、測驗方法和生命周期方法不需要公開,但不能是私有的)。
SonarLint Rule說明:
在此背景下(JUnit5),建議使用默認的包可見性,提高代碼的可讀性。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/537367.html
標籤:爪哇单元测试测试联机
上一篇:Microsoft.EntityFrameworkCore.DbUpdateException:'保存物體更改時出錯。有關詳細資訊,請參閱內部例外。
下一篇:如何模擬呼叫API的函式
