java - Ubuntu 安装 Junit

标签 java ubuntu junit

我正在尝试在 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/

相关文章:

java - 解析 JSON 时,出现奇怪的异常::This is not a JSON Array

java - 使用 char 数组将十进制转换为二进制、八进制、十六进制

java - Angular 不通过 RESTful API 从 Spring 获取

php - 从 php 在系统上运行命令

linux - Bash 将多行 Git 日志输出保存到环境变量

Java:WAITINGScheduledFuture的Get方法

php - Apache 耗尽所有内存,网站上没有访客

c# - 像java一样的Visual Studio参数化单元测试

java - 根据条件将测试标记为忽略

java - JUnit 测试套件和 Ant 构建 "ClassNotFoundException"