点击关注公众号,利用碎片时间学习
Squaretest插件(收费)
下载插件
1.File——>Settings——>Plugins
,搜索Squaretest
,然后install
就好了,插件安装完成后需要重启一下。

2.重启之后,菜单栏就多了一项Squaretest
,点击Squaretest
后,菜单的最后一项:Generate Test Methods(Help)
来看它的一个演示。

演示
首先:我们打开一个类,这个类就是我们即将要作为实验的类。Squaretest
生成的单元测试方法都是只能生成public的。
其次:光标定位到代码里,右击鼠标选择Generate…

会出现Generate Test
和 Generate Test - confirm Mocks
两个选项,第一次的话选择第二个选项。

选择第二个后,则需要你选择一下单元测试的模板,我选择的是JUnit4MockitoSpring.java.ft
,也可以选择别的。【快捷键:Alt+M】

选择玩模板后,弹出Select Dependencies to Mock
选择要模拟的依赖项,然后点击OK,则生成了EvaluateWeightServiceImplTest
测试类。


注意:自动生成单元测试,还是需要我们手动进行修改补充的,针对项目业务需求进行更改的。
实体类
VO,DTO,Entity,Command,Model
这种实体类来讲,一般这种实体类我们都用lombok的注解get,set,还有constract
构造器等注解,但是这个工具只能生成这些实体类的构造器的单元测试,无法生成get set
方法的单元测试,所以写了个base方法,实体类继承一下。
package com.oazy.entity.modle;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.junit.MockitoJUnitRunner;
import org.springframework.boot.test.context.SpringBootTest;
import java.beans.IntrospectionException;
import java.beans.PropertyDescriptor;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
@SpringBootTest
@RunWith(MockitoJUnitRunner.class)
public abstract class BaseVoEntityTest<T> {
protected abstract T getT();
private void testGetAndSet() throws IllegalAccessException, InstantiationException, IntrospectionException,
InvocationTargetException {
T t = getT();
Class modelClass = t.getClass();
Object obj = modelClass.newInstance();
Field[] fields = modelClass.getDeclaredFields();
for (Field f : fields) {
boolean isStatic = Modifier.isStatic(f.getModifiers());
// 过滤字段
if (f.getName().equals("isSerialVersionUID") || f.getName().equals("serialVersionUID") || isStatic || f.getGenericType().toString().equals("boolean")
|| f.isSynthetic()) {
continue;
}
PropertyDescriptor pd = new PropertyDescriptor(f.getName(), modelClass);
Method get = pd.getReadMethod();
Method set = pd.getWriteMethod();
set.invoke(obj, get.invoke(obj));
}
}
@Test
public void getAndSetTest() throws InvocationTargetException, IntrospectionException,
InstantiationException, IllegalAccessException {
this.testGetAndSet();
}
}
在实体类上通过Squaretest
生成单元测试,然后继承我上面写的那个BaseVoEntityTest
类 。

TestMe插件(免费)
TestMe插件可以智能分析被测试类的依赖类,结合Mockito+Junit
等单元测试框架,生成Mock/InjectMocks
依赖关系,自动生成单元测试类。
下载插件
1.File——>Settings——>Plugins
,搜索TestMe
,然后install
就好了,插件安装完成后需要重启一下。

2.我们打开一个类,这个类就是我们即将要作为实验的类。光标定位到代码里,右击鼠标选择Generate…
选择TestMe...
后弹出Test Class
,我选择的是Junit4。

3.生成单元测试类,需要进行简单修改

感谢阅读,希望对你有所帮助 :)
来源:blog.csdn.net/qq_38795959/article/
details/124727476
推荐:
PS:因为公众号平台更改了推送规则,如果不想错过内容,记得读完点一下“在看”,加个“星标”,这样每次新文章推送才会第一时间出现在你的订阅列表里。点“在看”支持我们吧!
原文始发于微信公众号(Java笔记虾):一键自动生成单元测试,这两款 IDEA插件太牛了!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/89511.html