gpt4 book ai didi

eclipse - Ant JUnit 任务找不到 junit/framework/TestCase.class

转载 作者:行者123 更新时间:2023-12-02 02:29:34 24 4
gpt4 key购买 nike

我正在尝试让 JUnit 4.8.1 任务在 Ant 1.7.1 中运行。我的 IDE 是 Eclipse Helios。我已经将头撞在砖墙上 2 天了,无法弄清楚这一点。通过阅读其他帖子,我确定这是一个类路径问题,但我看不出哪里出错了。

我的 JUnit4 测试套件定义如下:

package mypackage.tests;

import org.junit.runner.RunWith;
import org.junit.runners.Suite;

/**
* JUnit 4 Test Suite for the entire <code>mypackage</code>
* package
*/
@RunWith(Suite.class)
@Suite.SuiteClasses({ mypackage.tests.controller.AllTests.class })
public class AllTests {
}

...很简单,但是测试失败并出现 ClassNotFoundException

java.lang.ClassNotFoundException: mypackage.tests.AllTests
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)

当我打开调试标志时,我从 Ant 得到以下跟踪:

(...)
[junit] Couldn't find junit/framework/TestCase.class
[junit] Found C:\eclipse\plugins\org.apache.ant_1.7.1.v20100518-1145\lib\ant-launcher.jar
[junit] Found C:\eclipse\plugins\org.apache.ant_1.7.1.v20100518-1145\lib\ant.jar
[junit] Found C:\eclipse\plugins\org.apache.ant_1.7.1.v20100518-1145\lib\ant-junit.jar
fileset: Setup scanner in dir C:\eclipse\plugins with patternSet{ includes: [org.junit_4.8.1.v4_8_1_v20100427-1100/junit.jar] excludes: [] }
Finding class junit.framework.Test
Loaded from C:\eclipse\plugins\org.junit_4.8.1.v4_8_1_v20100427-1100\junit.jar junit/framework/Test.class
(...)

显然 JUnit jar 位于类路径中,并且其他类(例如 Test.class)正在被拾取,那么为什么我会收到“找不到 TestClass.class”消息?

我尝试将 JUnit.jar 添加到 Eclipse GUI 中的 ant 类路径,这具有以下效果:

(...)
[junit] Found C:\eclipse\plugins\org.junit_4.8.1.v4_8_1_v20100427-1100\junit.jar
[junit] Found C:\eclipse\plugins\org.apache.ant_1.7.1.v20100518-1145\lib\ant-launcher.jar
[junit] Found C:\eclipse\plugins\org.apache.ant_1.7.1.v20100518-1145\lib\ant.jar
[junit] Found C:\eclipse\plugins\org.apache.ant_1.7.1.v20100518-1145\lib\ant-junit.jar
(...)
[junit] WARNING: multiple versions of ant detected in path for junit
[junit] jar:file:C:/eclipse/plugins/org.apache.ant_1.7.1.v20100518-1145/lib/ant.jar!/org/apache/tools/ant/Project.class
[junit] and jar:file:/C:/eclipse/plugins/org.apache.ant_1.7.1.v20100518-1145/lib/ant.jar!/org/apache/tools/ant/Project.class
(...)

有人可以请帮助我让这个工作!

哦,我差点忘了...测试套件在 Eclipse 中运行良好。

提前致谢!

最佳答案

错误是因为你的测试类无法加载导致的。

您是否将包 mypackage.tests.controller(即包含类文件或 jar 存档的文件夹)放在 junit 调用的类路径中?这可以使用嵌套类路径结构来完成。 (http://ant.apache.org/manual/Tasks/junit.html)。

关于eclipse - Ant JUnit 任务找不到 junit/framework/TestCase.class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4284981/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com