【发布时间】:2015-11-25 17:42:41
【问题描述】:
我需要一些帮助来从命令行运行我的 testng 测试套件:
项目结构
编译类
myproject\bin
myproject\bin\com\...
源类
myproject\test
myproject\test\com\...
所需的库
myproject\libraries
myproject\libraries\xy.jar
测试套件
myproject\test\com\...\test\mySuite.xml
命令行调用
cd myproject
java -cp libraries\* -Dtestng.test.classpath="bin\*;test\*" org.testng.TestNG test\com\...\test\mySuite.xml
结果
[TestNG] Running:
F:\...\myproject\test\com\...\test\mySuite.xml
===============================================
mySuite
Total tests run: 0, Failures: 0, Skips: 0
===============================================
更新
mySuite.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="mySuite.xml" parallel="classes" thread-count="10">
<test name="happy path">
<packages>
<package name="com...test.functional.happyPath" />
</packages>
</test>
<test name="exception path">
<packages>
<package name="com...test.functional.exceptionPath" />
</packages>
</test>
</suite>
【问题讨论】:
-
Testng 需要编译的测试类。它是您的测试目录包含的内容吗?
-
不。 bin 目录包含已编译的类。但是进入 bin 并调用 "java -cp ..\libraries* org.testng.TestNG com\...\test\mySuite.xml" 以相同的结果结束...
-
是的,但是您编译的测试类在哪里?在 bin 文件夹中?
-
该项目只包含测试类。所以编译出来的tests/test-classes都放在bin文件夹下。
-
我阅读了以下内容:“github.com/longhua/testng-test-classpath-property-issue-1”,然后将命令行调用更改为“java -cp libraries*;bin org.testng.TestNG test\com\...\test\mySuite .xml”。成功了!
标签: command-line testng test-suite