Windows命令行执行TestNG

这篇博客介绍了如何在Windows环境下通过命令行执行TestNG测试。内容包括确保Java安装、设置TestNG环境变量、创建TestNGSample测试类、编写testng.xml配置文件,以及编译和运行测试。同时提到了在Linux环境下执行TestNG测试的准备工作和环境变量配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、首先,java已安装(自行搜索,网上诸多解决方案)

2、设置TestNG环境变量(自行搜索)

需要注意的是,光有一个testng.jar包是不够的,还需要它所依赖的一系列的文件,事先在eclipse上已配置过TestNG,找到testng.jar包所在的lib文件,将该lib文件的路径设置成系统变量TESTNG_HOME,再在CLASSPATH变量中加入 %TESTNG_HOME%\testng.jar;(注意有分号)下图为lib文件夹下的各类jar包


3、在E盘新建一个Test文件夹,创建一个java类,文件名为TestNGSample  E:\ > Test

import org.testng.annotations.Test;

importstatic org.testng.Assert.assertEquals;


publicclassTestNGSample{

             @Test

             publicvoid testAdd(){

                     String str="TestNG is working fine";

                      assertEquals("TestNG is working fine", str);

             }

}

 

4、 创建一个XML,文件名称testng.xml,用来执行测试用例  E:\ > Test

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suitename="Suite">
<testname="test">
   <classes>
      <classname="TestNGSample"/>
   </classes>
</test>
</suite>

 

5、 编译TestNGSimpleTest

E:\Test >javac TestNGSample.java

 

6、 调用testng.xml看到的结果:

E:\Test >java org.testng.TestNG testng.xml

输入结果为

===============================================

Suite1

Total tests run: 1, Failures: 0, Skips: 0

===============================================

 

-----------------------------------------------------分割线----------------------------------------------------

TestNG参数化测试,各java类文件不在同一目录下

创建一个java类PrimeNumberChecker.java。路径为E:\ > Test > data

package data;

 

public class PrimeNumberChecker {

    public Boolean validate(final IntegerprimeNumber) {

        for (inti = 2;i < (primeNumber / 2);i++) {

            if (primeNumber %i == 0) {

                return false;

             }

        }

        return true;

    }

}

 

创建Java类文件名ParamTestWithDataProvider.java  路径为E:\> Test > main

package main;

 

import org.testng.Assert;

import org.testng.annotations.BeforeMethod;

import org.testng.annotations.DataProvider;

import org.testng.annotations.Test;

import data.PrimeNumberChecker;

 

public class ParamTestWithDataProvider {

    private PrimeNumberCheckerprimeNumberChecker;

 

    @BeforeMethod

    public void initialize() {

        primeNumberChecker = new PrimeNumberChecker();

    }

 

    @DataProvider(name = "test1")

    public static Object[][] primeNumbers() {

        return new Object[][] { { 2, true }, { 6, false }, { 19, true },

                 { 22, false }, { 23,true } };

    }

 

    // This test will run 4 times since we have 5 parameters defined

    @Test(dataProvider = "test1")

    public void testPrimeNumberChecker(Integer inputNumber,

        Boolean expectedResult) {

         System.out.println(inputNumber +" " +expectedResult);

         Assert.assertEquals(expectedResult,

                 primeNumberChecker.validate(inputNumber));

    }

}

 

创建testng.xml,路径为E:\ > Test

<?xmlversion="1.0"encoding="UTF-8"?>

<suitename="Suite1">

    <testname="test1">

         <classes>

             <classname="main.ParamTestWithDataProvider"/>  注意main.Param

             </classes>

    </test>

</suite>

 

打开cmd,在E:\ > Test >进行编译执行

E:\Test>javac data\PrimeNumberChecker.java  

E:\Test>javac main\ParamTestWithDataProvider.java

E:\Test>java org.testng.TestNG testng.xml 

输出结果

 


在linux下运行

利用Xftp将testng相关的jar包放到linux的某一个目录下  /home/hzyezi/local/testing-lib

设置环境变量:http://www.yiibai.com/html/testng/2013/0914293.html

                            http://blog.csdn.net/weiyidemaomao/article/details/7742605

 

在用户目录下的.bash_profile文件中增加变量【对单一用户生效(永久的)】

 

用VI在用户目录下的.bash_profile文件中增加变量,改变量仅会对当前用户有效,并且是“永久的”。

例如:编辑li用户目录(/home/li)下的.bashrc

$ vi /home/hzyezi/.bashrc

添加如下内容:

export TESTNG_HOME=/home/hzyezi/local/testng-lib

export CLASSPATH=$CLASSPATH:$TESTNG_HOME/testng.jar

 

注:修改文件后要想马上生效还要运行$ source /home/li/.bashrc不然只能在下次重进此用户时生效。

 

然后依据上文所述创建java文件和xml文件即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值