JAVA单元测试框架-12-java代码重复执行失败的测试用例

本文介绍了使用TestNG执行测试用例时,遇到失败用例如何再次执行的方法。官网给出Java代码执行测试案例,每次执行完用例后,失败用例保存在test-output目录下的testng - failed.xml文件中,可再次执行这些失败用例以实现重复执行。

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

在使用testng执行测试用例时候,都会遇到测试用例执行失败,怎么再次执行失败的测试用例呢,官网给出了java代码执行测试的案例,每次执行完用例后会在test-output目录路径下保存执行失败的测试用例,可以再次执行失败的测试用例来达到重复执行。

首先创建执行失败的测试用例:

public class TestAssert {
    @Test
    public void TestAssert() {
        Assert.assertEquals("2", 2);
    }
    @Test
    public void TestAssertThree() {
        int a=3;
        Assert.assertNotNull(a);
    }
    @Test
    public void TestAssertFour() {
        String expected="aaa";
        String actual="aaa";
        Assert.assertSame(actual, expected,"实际结果跟预期结果不一样");
    }
    @Test
    public void TestAssertW() {
        Assert.assertTrue(1==2);
    }
    @Test
    public void TestAssertnew(){
        System.out.println("Test start");
        SoftAssert assertion = new SoftAssert();
        assertion.assertEquals(12, 13,"两者不相等");
        System.out.println("Test complete");
        System.out.println(3+8);
        assertion.assertAll();
    }

}

创建java代码执行测试:失败的测试用例保存在test-output/testng-failed.xml

package suit;

import org.testng.TestNG;

import java.util.ArrayList;
import java.util.List;

public class RunSuit {
    public static void main(String[] args) {
        TestNG testNG = new TestNG();
        List<String> suites = new ArrayList<String>();
        suites.add("testng-2.xml");
        testNG.setTestSuites(suites);
        testNG.run();

        // 等待执行结束,然后去执行失败用例
        TestNG testNG1 = new TestNG();
        List<String> suites1 = new ArrayList<String>();
        try {
            Thread.sleep(5000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        suites1.add("test-output/testng-failed.xml");
        testNG1.setTestSuites(suites1);
        testNG1.run();


    }
}

失败的测试用例如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite guice-stage="DEVELOPMENT" name="Failed suite [Failed suite [All Test Suite]]">
  <listeners>
    <listener class-name="org.uncommons.reportng.HTMLReporter"/>
    <listener class-name="org.uncommons.reportng.JUnitXMLReporter"/>
  </listeners>
  <test name="D:/IdeaProject/interfaceRestAssured(failed)(failed)">
    <classes>
      <class name="TestNg.TestAssert">
        <methods>
          <include name="TestAssert"/>
          <include name="TestAssertnew"/>
          <include name="TestAssertW"/>
        </methods>
      </class> <!-- TestNg.TestAssert -->
    </classes>
  </test> <!-- D:/IdeaProject/interfaceRestAssured(failed)(failed) -->
</suite> <!-- Failed suite [Failed suite [All Test Suite]] -->

 


 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员路同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值