如何从命令行运行.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。有谁知道如何使它工作?
您需要具有testng.jar
under类路径。
尝试 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,loggers等。如果您不想指定testng.xml可用的完整路径,也请将testng.xml复制到bin文件夹。
/bin
-- testng.xml
-- testclasses
-- Properties files if any.
/lib
-- testng.jar
-- log4j.jar
Update
:
转到文件夹MyProject
,然后按如下所示方式运行Java命令:-
java -cp ".: C:\Program Files\jbdevstudio4\studio\plugins\*" org.testng.TestNG testng.xml
我相信testng.xml文件在下面,C:\Users\me\workspace\MyProject
如果没有,请提供testng.xml
文件的完整路径
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句