目录
package ngtest;
import java.util.List;
import org.testng.TestNG;
import com.google.common.collect.Lists;
public class TestPerson {
public static void main(String[] args) {
TestNG tng = new TestNG();
List<String> suites = Lists.newArrayList();
//添加要执行的testng.xml文件
suites.add("testng.xml");
tng.setTestSuites(suites);
tng.run();
}
}
利用Eclipse自带的打包工具,
java->Runable JAR file
,点击next在后面弹出的窗口中一路点击yes 或者 ok,完成后目标就会出现在第三步Export destination设置的位置上。
打成的jar包中有程序运行需要的.class文件,但是缺少了testng配置文件,所以需要把testng配置文件放到jar包的同级目录上,然后双击jar包(或者进入cmd命令行,输入java -jar jar包名)即可执行jar包,执行完后就会在同级目录上生成TestNG运行结果文件。
命令行运行TestNG的基本语法java org.testng.TestNG testng.xml
。
在命令行中运行一个java程序都需要设置classpath环境变量,用来说明要执行的.class文件在哪里(简单的不需要设置,是因为那个.class文件没有跨包依赖,而我们正好可以找到他)。我们这里需要设置两个环境变量,第一部分的环境变量指向该程序依赖的jar包的位置,第二部分指向要运行的.class文件的位置
这需要如下操作
java org.testng.TestNG testng.xml
如果不添加classpath环境变量,也可以在运行时指定classpath的值,比如
D:\workspace\tester>java -classpath "%classpath%;D:\workspace\tester\target\test-classes" org.testng.TestNG testng.xml
。
上面-classpath "%classpath%;D:\workspace\tester\target\test-classes"
的含义是设置当前运行环境的classpath,classpath包含两部分,一部分是%classpath%
表示引用当前设置的系统环境变量中classpath的值(在系统classpath中我设置了testng依赖包的位置,如果没有设置系统环境变量classpath,这里需要写上上面四个包的全路径,中间用分号分割),第二个值是D:\workspace\tester\target\test-classes
表示我的项目编译后生成的.class文件放在这里。
原文:https://www.cnblogs.com/beifucangqiong/p/11219545.html