Java JUnit 测试找不到类

标签 java unit-testing junit

我正在尝试运行我在 IntelliJ 中创建的测试类。当我在 IntelliJ 中运行它时,测试通过了。但是,我希望能够编写脚本,因此我尝试通过命令行运行测试。

我正在从此目录运行以下命令:$PROJECT_HOME/output/test/com/proj1/ome

java -cp .:$PROJECT_HOME/tools/junit4.11.jar:$PROJECT_HOME/tools/hamcrest-all-1.3.jar org.junit.runner.JUnitCore ClassATest

它给了我以下错误:

Exception in thread "main" java.lang.NoClassDefFoundError: ClassATest (wrong name: com/proj1/ome/ClassATest)

我读到这是因为您无法从包内运行该项目。所以我进入了底层(我读到的 Stack Overflow 帖子推荐的)并从那里开始尝试。所以现在我从此目录运行以下命令:$PROJECT_HOME/output/test/com

java -cp .:/$PROJECT_HOME/tools/junit4.11.jar:$PROJECT_HOME/tools/hamcrest-all-1.3.jar org.junit.runner.JUnitCore ClassATest
java -cp .:/$PROJECT_HOME/tools/junit4.11.jar:$PROJECT_HOME/tools/hamcrest-all-1.3.jar org.junit.runner.JUnitCore proj1/ome/ClassATest

这些给了我以下输出

JUnit version 4.11
Could not find class: ClassATest

Time: 0.001

OK (0 tests)

然后我尝试再下一个目录并再次尝试,但得到了相同的结果。

任何关于我哪里出错的想法将不胜感激。

谢谢

最佳答案

您应该位于 $PROJECT_HOME/output/test 目录中。然后运行:

java -cp .:/$PROJECT_HOME/tools/junit4.11.jar:$PROJECT_HOME/tools/hamcrest-all-1.3.jar org.junit.runner.JUnitCore com.proj1.ome.ClassATest

关于Java JUnit 测试找不到类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20082885/

相关文章:

C# 枚举 : can they take members and functions like java enums?

java - 创建 PDF 时法语区域设置的字符编码 - Java

java - 在步骤中实现 writer 时出现 Spring Batch : onWriteError in ItemWriteListener won't be reached on org. springframework.dao.DuplicateKeyException

c# - NUnit 2.5 在 Visual Studio 中返回不确定状态

java - 使用 JUnit 测试需要使用输入流模拟键盘输入的主要方法?

spring-boot - 如何在 Spring Test Suite 中运行 JUnit 5 测试?

java - JSP bean 值未更新

c++ - QTimer 超时不会在单元测试中触发

javascript - Jest 中的嵌套模拟函数

java - 在java中比较旋转图像