如何从命令行运行TestNG

模糊分析:

如何从命令行运行.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.jarunder类路径。

尝试 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章