Ant 1.7.1で実行するJUnit 4.8.1タスクを取得しようとしています。私のIDEはEclipse Heliosです。私は今、2日間レンガの壁に頭を打っていて、これを理解することはできません。私はクラスパスの問題を他の投稿で読むことは確信していますが、どこが間違っているのかわかりません。Ant JUnitタスクがjunit/framework/TestCase.classを見つけられませんでした
マイ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はクラスパスにあり、o Test.classなどのクラスが取得されているので、なぜ「TestClass.classが見つかりませんでした」というメッセージが表示されますか?
私は、EclipseのGUIでantクラスパスにjunit.jarをを追加しようとしたが、これは次のような効果があります。
(...)
[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内からうまく動作します。
ありがとうございます!
OMG、私は泣くことができました。それの2日間!?これはまさに問題でした。私はクラスファイルだけを追加する方法を理解できなかったので、タスクをインクルードし、jarファイルをクラスパスに追加しました。 –
user391549