gpt4 book ai didi

java - 编译并运行JUnit测试套件

转载 作者:行者123 更新时间:2023-12-02 10:58:19 26 4
gpt4 key购买 nike

我已经制作了一个JUnit测试套件,但是我无法从命令行构建和运行它,而不仅仅是让IntelliJ发挥其魔力。我已经下载了junit-4.12.jar和hamcrest-core-1.3.jar。我理想上是在寻找一种“便携式”解决方案,即所有必需参数都在命令中而不是在bash文件中某个位置的path变量中的解决方案。

我相信我可以使用javac -cp /path/to/junit-4.12.jar:. TestSuite.java进行编译。这将生成没有错误的TestSuite.class文件。

但是我尝试了所有可以运行的命令,但总是出错。例如:java -cp /path/to/junit-4.12.jar:/path/to/hamcrest-core-1.3.jar:. org.junit.runner.JUnitCore TestSuite给出:

JUnit version 4.12
Exception in thread "main" java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.junit.runner.Computer.getSuite(Computer.java:28)
at org.junit.runner.Request.classes(Request.java:75)
at org.junit.runner.JUnitCommandLineParseResult.createRequest(JUnitCommandLineParseResult.java:118)
at org.junit.runner.JUnitCore.runMain(JUnitCore.java:77)
at org.junit.runner.JUnitCore.main(JUnitCore.java:36)
Caused by: java.lang.ClassNotFoundException: org.hamcrest.SelfDescribing
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 17 more

任何想法出什么事了吗?

最佳答案

我认为,如果您用双引号引起来的类路径,并使用分号而不是冒号作为分隔符,则应该可以:

java -cp "/path/to/junit-4.12.jar;/path/to/hamcrest-core-1.3.jar;." org.junit.runner.JUnitCore TestSuite

如果您仍然遇到相同的错误,那么我认为您在hamcrest路径中只是一个错字。

关于java - 编译并运行JUnit测试套件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53367831/

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