JUnit4---实践三:支持多线程,失败重试执行测试case的方法

本文介绍了如何使用JUnit4实现多线程执行测试用例,以及如何仅运行上一次失败的测试用例。通过自定义注解`@Concurrent`和扫描日志文件来定位失败用例,生成执行文件`AutoFailMethodsTest.java`,确保测试的高效性和针对性。

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

一.背景

多线程执行用例能很大的节约时间,而JUnit4(org.junit.experimental.ParallelComputer)本身是支持多线程的(以后会专门写一篇介绍JUnit的多线程执行),但是experimental实验性质的,本文多线程执行用例是自己构造线程池,一个线程去执行一个用例,当然这要求你的用例间不能有交集。

只运行上一次失败的用例,JUnit4(org.junit.experimental.max.MaxCore)本身是支持失败用例优先,但是也会执行上次成功的用例; 比如有用例1,2,3;这次失败了2,下次执行2,1,3;我们想要的只执行2。

本文是以JUnit4---实践二:拓展之运行指定类的某些测试方法-自动生成该文件, JUnit4---实践一:运行指定类的某些测试方法的基础上做了修改,可以先阅读下,再看本文。

二.实现

项目(实现了自定义注解@Concurrent,多线程执行用例)是通过ant执行JUnit和JUnit-report,生成报告,并生成错误日志;根据扫日志,找出失败用例。

1.FindFailTest:扫日志,生成执行失败用例的文件

package com.weibo.failmethods;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Reader;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;
import java.util.TreeSet;
import java.u
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值