我正在尝试运行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运行配置中设置正确的类路径
2条答案
按热度按时间nvbavucw1#
我可以看到你的类
UserValidatorTest
不是公共的。一旦你的类成为公共的,你就可以运行测试了。w41d8nur2#
JUnit4要求所有内容都是公共的。
JUnit5对测试类的可见性更宽容(测试类、测试方法和生命周期方法不需要是公共的,但它们一定不能是私有的)。
SonarLint规则说明:
在此上下文中(JUnit5),建议使用缺省的包可见性,这样可以提高代码的可读性。