5

初めて使用するために、easymock に関するチュートリアルを完了しようとしています。 http://www.vogella.de/articles/EasyMock/article.html

私が使用している - Java 開発者向けの Eclipse IDE (ビルド ID: 20100218-1602)
- Junit 4 プラグイン
- easymock 3.0

以下で説明するようにプロジェクトを作成し、JUNIT テストとして実行すると、エラーが発生します。

**java.lang.NoClassDefFoundError: net/sf/cglib/proxy/Enhancer**            

このエラーは何ですか?どうすれば修正できますか? ライン上で発生します。

EasyMock.replay(calcMethod);            

java.lang.NoClassDefFoundError: net/sf/cglib/proxy/Enhancer at org.easymock.internal.ClassExtensionHelper.getControl(ClassExtensionHelper.java:57) at org.easymock.EasyMock.getControl(EasyMock.java:2068) at org. easymock.EasyMock.replay(EasyMock.java:1970) で収入.IncomeCalculatorTest.testCalc1(IncomeCalculatorTest.java:33)
sun.reflect.NativeMethodAccessorImpl.invoke0 (ネイティブ メソッド) で sun.reflect.NativeMethodAccessorImpl.invoke (不明なソース) で sun.reflect.DelegatingMethodAccessorImpl.invoke (不明なソース) で java.lang.reflect.Method.invoke (不明なソース) org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44) で org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) で org.junit.runners.model. org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) の FrameworkMethod.invokeExplosively(FrameworkMethod.java:41) org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java: 28) org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) で org.junit.runners.BlockJUnit4ClassRunner.org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:46) の runChild(BlockJUnit4ClassRunner.java:73) org.junit.runners.ParentRunner.runChildren(ParentRunner.java:180) の runChild(BlockJUnit4ClassRunner.java:180)
org.junit.runners.ParentRunner.access$000(ParentRunner.java:41)
で org.junit.runners.ParentRunner$1.evaluate(ParentRunner.java:173) で
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) で org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) で org.junit.runners.ParentRunner org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46) の .run(ParentRunner.java:220) org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution) .java:38) org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) で org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) で) org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) で org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) でjava.lang.ClassNotFoundException: net.sf.java.net.URLClassLoader$1.run の cglib.proxy.Enhancer (未知のソース) java.security.AccessController.doPrivileged (ネイティブ メソッド) の java.net.URLClassLoader.findClass (未知のソース) java.lang.ClassLoader.loadClass の(不明なソース) で sun.misc.Launcher$AppClassLoader.loadClass(不明なソース) で java.lang.ClassLoader.loadClass(不明なソース) ... 28 詳細

4

2 に答える 2

4

ええ、私はあなたがそれを必要とすると思います。

http://cglib.sourceforge.net/

おそらくeasymockダウンロードのある種の依存関係ディレクトリにあります

于 2010-12-06T23:46:56.037 に答える
1

EasyMock 3.0ページから:クラスモックを実行するには、ObjenesisCglibもクラスパスに追加します。

于 2011-09-12T15:17:34.070 に答える