mar*_*ace 6 java netbeans netbeans-10
我安装了NetBeans 10的新安装。尝试运行刚创建的一些初始单元测试时,出现以下错误:
的
<classpath>或<modulepath>为<junit>必须包括如果不是在Ant的自己的类路径的junit.jar
我可能会破解包含的构建脚本junit.jar,但我想知道:什么是解决此问题的正确方法?
NetBeans是否应该附带已经可以访问的JUnit版本?我应该以其他方式配置项目吗?如何添加到库的路径?
如何找到Ant的类路径(以及使用的是哪个版本/二进制NetBeans)?
该项目Test Libraries显示存在JUnit 5.3.1,我在那里列出了三个Jar文件:junit-jipiter-api,junit-jupiter-params,junit-jupiter-engine。但这似乎并没有被发现。
该项目是标准的Java库(无主类)。我没有添加任何“额外”或与NetBeans使用的默认项目设置混淆。刚用过基本的安装向导的东西。
回覆。来自Geertjan Wielenga的NetBeans邮件列表的回复,他指出了这个话题并回复:
是的
我们从未在NB 10中实现对基于Ant的项目的JUnit 5支持。
约翰·麦克唐纳
所以我认为这是行不通的。我将在下面尝试将建议的版本还原为JUnit 4。
bea*_*013 10
我也正在xubuntu中运行netbeans 10,如果有帮助的话。我不知道发生了什么,所以我不得不恢复到junit4。编辑:完全清楚,ant需要junit.jar,这在默认的netbeans 10安装中找不到。在有人提出更好的解决方案之前,请还原为junit4:
1)在您的测试库中,右键单击并导入junit 4.1.2。
2)删除junit 5.3的。
3)将所有导入内容废弃在测试文件中,并使用junit4。即您的进口看起来像:
import static junit.framework.Assert.assertEquals;
import org.junit.Test;
import org.junit.*;
/*import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;*/
Run Code Online (Sandbox Code Playgroud)
4)废弃beforeAll和其他测试标签。只留下@Test一个。
5)保存所有,关闭并重新打开项目。它将抱怨junit4的hamcrest库未导入。允许netbeans为您修复它。
完成此操作后,我能够测试成功和失败的测试。我猜想当您使用模板生成器生成junit测试时,它将生成junit5测试,因此有点烦人。但是您将进行测试!