我正在尝试在 Ubuntu 上安装 Junit。我已经让 Java 工作,以便我可以编译 java 文件。但是,junit 给我带来了问题(无法让基本测试用例工作以证明安装工作正常)。
这是我做的:
sudo apt-get install junit
现在,当我输入 which junit
时,它会给我 /usr/bin/junit
同样,通过另一个堆栈交换帖子,我发现我的 junit.tar 文件 在这里:
/usr/share/java/junit.jar
我将 junit.jar 文件的路径添加到我的 CLASSPATH 中,因为网站 ( http://junit.org/junit4/faq.html#started_2) 说“确保 JUnit 安装目录在你的 CLASSPATH 上”
我在 .bashrc 中将上面的第二个路径添加到我的 CLASSPATH
所以当我运行 echo $CLASSPATH
时:
我得到 /usr/share/java/junit.jar:/usr/bin
但是,当我尝试运行 java org.junit.runner.JUnitCore org.junit.tests.AllTests
为了测试我是否已正确安装和配置 JUnit,我收到此错误:
Error: Could not find or load main class org.junit.runner.JUnitCore
Caused by: java.lang.ClassNotFoundException: org.junit.runner.JUnitCore
我是一个初学者,刚刚开始学习 Ubuntu,所以非常感谢任何帮助。
最佳答案
问题是您已经安装了 JUnit 3.8(参见 https://packages.ubuntu.com/artful/junit)。 JUnit 3.8 不包含任何包 org.junit.*
,因为它们是在 JUnit 4 中引入的。理论上你可以通过安装包 junit4
来解决这个问题。使用 apt-get
(这将安装 JUnit 4.12)。
但这是错误的做法,你应该学习如何使用 Maven 或 Gradle(或两者),它们会自动为你下载依赖项,并带走一些编译的苦差事(当然,换取更高的学习曲线)。
或者,如果您真的想手动执行此操作,请养成从项目网站下载依赖项并在编译和执行期间明确指定类路径的习惯。为此依赖系统包管理器是错误的方法(错误的版本、应用程序/项目之间的不同版本要求、不在存储库中的库等)。依赖 CLASSPATH
环境变量是非常脆弱的(错误的版本,类路径上的库的意外影响等),并且由于大多数执行 Java 应用程序的方法甚至不使用它,所以这是错误的学习的东西。
TLDR,真的,您应该学习 Maven 或 Gradle 的基础知识。
关于java - Ubuntu 安装 Junit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48302150/