究竟如何从命令行运行 .java TestNG 项目?
我已经阅读了TestNG文档,并尝试了以下方法无济于事:
C:\projectfred> java org.testng.TestNG testng.xml
...在我的项目中使用以下 testng.xml 文件:
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="SuiteAll" verbose="1">
<test name="TestAll">
<packages>
<package name="com.project.fred.tests"/>
</packages>
</test>
</suite>
我得到的错误是这样的:
Exception in thread "main" java.lang.NoClassDefFoundError: org/testng/TestNG
Caused by: java.lang.ClassNotFoundException: org.testng.TestNG
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)
Could not find the main class: org.testng.TestNG. Program will exit.
显然,我在命令行中没有正确引用 TestNG。有谁知道如何让它工作?
最佳答案
你需要在classpath下有testng.jar
。
尝试 C:\projectfred> java -cp "path-tojar/testng.jar:path_to_yourtest_classes"org.testng.TestNG testng.xml
更新:
在 linux 下我运行了这个命令,它在 Windows 上也有类似的东西
test/bin# java -cp ".:../lib/*" org.testng.TestNG testng.xml
目录结构:
/bin - All my test packages are under bin including testng.xml
/src - All source files are under src
/lib - All libraries required for the execution of tests are under this.
一旦我编译了所有源代码,它们就会放在 bin 目录下。因此,在类路径中,我需要在此处指定 bin 目录和所有库(如 testng.xml、记录器等)的内容。如果您不想指定 testng.xml 可用的完整路径,也可以将 testng.xml 复制到 bin 文件夹。
/bin
-- testng.xml
-- testclasses
-- Properties files if any.
/lib
-- testng.jar
-- log4j.jar
更新
:
转到文件夹 MyProject
并键入运行 java 命令,如下所示:-
java -cp ".: C:\Program Files\jbdevstudio4\studio\plugins\*" org.testng.TestNG testng.xml
我相信 testng.xml 文件在 C:\Users\me\workspace\MyProject
如果不是请给出 testng.xml
文件的完整路径
关于java - 如何从命令行运行 TestNG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11896791/