0

JUnitを使い始めたばかりです。Intelij IDEA を使用してテストを実行しましたが、すべて問題ありませんが、次のコードを使用してターミナルでテストを実行しようとすると、次のようになります。

java -cp /junit4.10/junit-4.10.jar:. /Users/maidini/IdeaProjects/HelloWorld/test/CalculatePriceTest.java

このエラーが発生しています:

Exception in thread "main" java.lang.NoClassDefFoundError: /Users/maidini/IdeaProjects/HelloWorld/test/CalculatePriceTest/java
Caused by: java.lang.ClassNotFoundException: .Users.maidini.IdeaProjects.HelloWorld.test.CalculatePriceTest.java
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

ターミナルでもテストを正常に実行できるようにするにはどうすればよいか考えていますか? 私もマックライオンを使っています。

4

1 に答える 1

4

javacまず、;を使用してコードをコンパイルする必要があります。クラスパスへのソースファイルのロード.javaは機能しません。単体テストクラスと、テストしている実際のクラスの両方を追加することを忘れないでください。そして、それらが持つ可能性のある依存関係。たぶん、それらをファイルにバンドルしたいと思うかもしれません。.jarそうすれば、コマンドラインが長くなりすぎないようになります。また、コードやテストを変更するたびに再コンパイルすることを忘れないでください。

これはかなり早く毛むくじゃらになることがあります。代わりに、 Mavenなどのビルドツールを使用することをお勧めします。適切なMavenビルドを使用すると、と入力するだけmvn testで、Mavenが依存関係、コンパイル、およびテストの実行を処理します。

Mavenを使用したくない場合は、Ant (できれば、 Ivyと組み合わせて)、Gradle、またはその他のJavaビルドツールを調べることもできます。

于 2012-07-17T09:28:41.607 に答える