Ubuntu安装Junit

问题描述 投票:1回答:2

我想在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,所以任何帮助都会非常感激。

java ubuntu junit
2个回答
4
投票

问题是你已经安装了JUnit 3.8(参见https://packages.ubuntu.com/artful/junit)。并且JUnit 3.8不包含任何软件包org.junit.*,因为它们是在JUnit 4中引入的。理论上你可以通过使用junit4(将安装JUnit 4.12)安装软件包apt-get来解决这个问题。

但这是错误的方法,您应该学习如何使用Maven或Gradle(或两者),这将自动为您下载依赖项,并带走一些编制的苦差事(授予,以换取更高的学习曲线) 。

或者,如果您真的想手动执行此操作,请养成从项目网站下载依赖项的习惯,并在编译和执行期间显式指定类路径。依赖于系统包管理器是错误的方法(错误的版本,应用程序/项目之间的不同版本要求,不在存储库中的库等)。依赖于CLASSPATH环境变量是非常脆弱的(错误版本,在类路径上具有库的意外效果等),并且由于大多数执行Java应用程序的方法甚至不使用它,因此学习它是错误的。

TLDR,你应该学习Maven或Gradle的基础知识。


-1
投票

正如Mark在评论中提到的那样,使用Gradle来管理您的包。在IntelliJ中,转到您的build.gradle为您的应用程序。在依赖项对象中添加以下内容

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.12'
}
© www.soinside.com 2019 - 2024. All rights reserved.