import cn.hutool.core.collection.ListUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.RandomUtil;
import cn.hutool.core.util.ReUtil;
import cn.hutool.core.util.StrUtil;
import java.lang.annotation.Annotation;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;
import java.util.regex.Pattern;
public class xml生成mapper单元测试 {
public static void main(String[] args) {
System.out.println("请输入xml路径然后按[enter]键:");
Scanner scanner = new Scanner(System.in);
String path = scanner.nextLine();
System.out.println("---------------开始执行-------------------");
//去掉xml注释
ArrayList<String> data = new ArrayList<String>();
FileUtil.readUtf8Lines(path, data);
StringBuffer ss = new StringBuffer();
data.forEach(s -> {
ss.append(s + "\n");
});
String out = null;
System.out.println(out = ss.toString().replaceAll("<!-[\\s\\S]*?->", ""));
String path2 = null;
FileUtil.writeUtf8String(out, path2 = path + "~");
System.out.println(path2);
//解析
ArrayList<String> data2 = new ArrayList<String>();
FileUtil.readUtf8Lines(path2, data2);
//mapper单元测试路径
String testFileName = null;
//测试类
StringBuffer cs = new StringBuffer();
//<select/>
List<int[]> list = new ArrayList<>();
//mapper类名
String mapperName = null;
//mapper包+类名
String packageClasss = null;
for (int i = 0; i < data2.size(); i++) {
String s = data2.get(i);
if (s.contains("<mapper")) {
String regex = "\"([^\"]*)\"";
packageClasss = ReUtil.getGroup1(regex, s);
List<String> split = StrUtil.split(packageClasss, ".");
mapperName = split.get(split.size() - 1);
System.out.println(mapperName);
System.out.println(packageClasss);
String s1 = packageClasss.replace(".", "\\");
testFileName = StrUtil.split(path2, "src").get(0) + "src\\test\\java\\"
+ s1 + "Test.java";
System.out.println(testFileName);
//构建单元测试类
cs.append("package " + packageClasss.replace("." + mapperName, "") + ";\n\n\n\n");
cs.append("@org.springframework.boot.test.context.SpringBootTest\n");
cs.append("public class " + mapperName + "Test {\n\n\n");
cs.append("@org.springframework.beans.factory.annotation.Autowired\n");
cs.append(packageClasss + " " + mapperName + ";\n\n\n");
cs.append("#{method}\n");
cs.append("}\n");
}
getbq(li
XML生成mapper单元测试类
于 2023-08-20 19:09:46 首次发布
本文详细介绍了如何针对XML配置文件的Mapper进行单元测试,涵盖了测试环境搭建、测试用例编写以及关键测试步骤,旨在确保XML映射文件与Java代码的正确交互。
摘要由CSDN通过智能技术生成