我重新安装了NetBeans10。尝试运行刚创建的一些初始单元测试时,出现以下错误:
<classpath>
的{{1}}或<modulepath>
必须包含junit.jar(如果不在Ant自己的类路径中)
我可能会破解构建脚本以包含<junit>
,但我想知道:什么是解决此问题的正确方法?
NetBeans是否应该附带已经可以访问的JUnit版本?我应该以其他方式配置项目吗?如何添加到库的路径?
如何找到Ant的类路径(以及使用的是哪个版本/二进制NetBeans)?
项目junit.jar
显示存在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。
答案 0 :(得分:8)
我也正在xubuntu中运行netbeans 10,如果有帮助的话。我不知道发生了什么,所以我不得不恢复到junit4。 编辑:完全清楚,ant需要junit.jar,这在默认的netbeans 10安装中找不到。 在有人提出更好的解决方案之前,请还原为junit4:
1)在测试库中,右键单击并导入junit 4.1.2。
2)删除junit 5.3。
3)将所有导入都废弃在测试文件中,并使用junit4导入。即您的导入将如下所示:
<a class="logo-container" href="/">
<img src="x.png" alt="x" class="top_logo">
</a>
4)废弃beforeAll和其他测试标签。只留下@Test一个。
5)保存所有,关闭并重新打开项目。它将抱怨junit4的hamcrest库未导入。允许netbeans为您修复它。
完成此操作后,我能够测试成功和失败的测试。我猜想当您使用模板生成器生成junit测试时,它将生成junit5测试,因此有点烦人。但是您会进行测试!
答案 1 :(得分:0)
我遇到了同样的错误,但这不是配置问题,只是一个错字。
我正在测试的类的主要方法是这样写的:
public static void main(String agrs) {
///
}
我唯一要做的就是正确地编写它,就像这样:
public static void main(String[] args) {
///
}
一旦我更改它,问题就消失了。 我想这不是一个全局解决方案,但可能会有所帮助。
答案 2 :(得分:0)
对于已接受的答案,我发现一个更好的解决方案是从 Create/Update 测试中选择 JUnit 4。这样您就不必每次都重新配置测试。
来自 Netbeans:https://netbeans.apache.org//kb/docs/java/junit-intro.html#_writing_junit_3_unit_tests