![JAR search and dependency download from the Maven repository](/logo.png)
enhanced.mybaits.generator.codegen.extra.TestsInsertMethodGenerator Maven / Gradle / Ivy
The newest version!
package enhanced.mybaits.generator.codegen.extra;
import enhanced.mybaits.generator.MixedContext;
import enhanced.mybaits.generator.codegen.AbstractMapperTestsMethodGenerator;
import enhanced.mybaits.generator.enums.EnhanceSqlIdEnum;
import org.apache.commons.lang3.StringUtils;
import org.mybatis.generator.api.dom.java.FullyQualifiedJavaType;
import org.mybatis.generator.api.dom.java.Method;
import org.mybatis.generator.api.dom.java.Parameter;
import java.util.ArrayList;
import java.util.List;
/**
* 测试类的新增方法测试生成器
* @author 徐明龙 XuMingLong
*/
public class TestsInsertMethodGenerator extends AbstractMapperTestsMethodGenerator{
public TestsInsertMethodGenerator(MixedContext mixedContext) {
super(mixedContext);
}
/**
* 增加测试方法的内容
* @author 徐明龙 XuMingLong
* @param method 方法名称
*/
@Override
protected void addMethodBody(Method method) {
//增加方法的代码
StringBuilder sb = new StringBuilder();
//构建参数对象
List parameterList = testedMethod.getParameters();
List parameterNameList = new ArrayList<>();
for(Parameter r:parameterList) {
FullyQualifiedJavaType type = r.getType();
String name = type.getShortName();
String varName = StringUtils.uncapitalize(name);
parameterNameList.add(varName);
sb.append(name);
sb.append(" ");
sb.append(varName);
sb.append(" = new ");
sb.append(name);
sb.append("(");
sb.append(");");
method.addBodyLine(sb.toString());
sb.setLength(0);
}
sb.append("// TODO 请补充完整测试代码");
method.addBodyLine(sb.toString());
sb.setLength(0);
//调用Mapper类的测试方法
sb.append("int count = ");
sb.append(testedMapperField.getName());
sb.append(".");
sb.append(testedMethod.getName());
sb.append("(");
sb.append(StringUtils.join(parameterNameList, ","));
sb.append(");");
method.addBodyLine(sb.toString());
sb.setLength(0);
//调用assertThat方法
sb.append("assertThat(count).isNotZero();");
method.addBodyLine(sb.toString());
sb.setLength(0);
}
/**
* 设置被测试方法
* @author 徐明龙 XuMingLong
*/
@Override
protected void setTestedMethod() {
List methodList = mixedContext.getMapper().getMethods();
for(Method r:methodList) {
if(r.getName().equals(EnhanceSqlIdEnum.INSERT.getValue())) {
testedMethod = r;
break;
}
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy