我究竟如何从命令行运行 .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。有谁知道如何让这个工作?
原文由 Fuzzy Analysis 发布,翻译遵循 CC BY-SA 4.0 许可协议
您需要在类路径下拥有
testng.jar
。试试
C:\projectfred> java -cp "path-tojar/testng.jar:path_to_yourtest_classes" org.testng.TestNG testng.xml
更新:
在 linux 下我运行了这个命令,它在 Windows 上也有类似的东西
目录结构:
一旦我编译了所有源代码,它们就会进入 bin 目录。因此,在类路径中,我需要在此处指定 bin 目录和所有库(如 testng.xml、记录器等)的内容。如果您不想指定 testng.xml 可用的完整路径,也可以将 testng.xml 复制到 bin 文件夹。
Update
:转到文件夹
MyProject
并键入运行java命令,如下所示:-我相信 testng.xml 文件在
C:\Users\me\workspace\MyProject
如果不是请给出testng.xml
文件的完整路径