在终端中运行我的Junit测试

时间:2012-07-17 09:20:59

标签: java junit

我刚刚开始使用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)

您是否知道如何才能在终端成功运行我的测试?我也在使用Mac Lion。

1 个答案:

答案 0 :(得分:4)

首先必须使用javac编译代码;在类路径上加载.java源文件将不起作用。请记住添加单元测试类和您正在测试的实际类。以及他们可能拥有的任何依赖关系。也许你也希望将它们捆绑在.jar文件中,这样你的命令行就不会太长。另外,每次更改代码或测试时都不要忘记重新编译。

这可以很快变得毛茸茸。相反,我建议您使用构建工具,例如Maven。使用正确的Maven构建,您只需键入mvn test,Maven就会为您处理依赖项,编译和运行测试。

如果您不想使用Maven,您还可以查看Ant(最好与Ivy),或Gradle或任何其他Java构建工具。< / p>