JUnit单元测试--IntelliJ IDEA
单元测试的基本使用
一、环境配置
使用idea IDE 进行单元测试,首先需要安装JUnit 插件。
1.安装JUnit插件步骤
File-->settings-->Plguins-->Browse repositories-->输入JUnit-->选择JUnit Generator V2.0安装。
2.使用JUnit插件
在需要进行单元测试的类中,使用快捷键alt+insert,选择JUnit test,选择JUnit4。
二、单元测试
代码Demo:
@Test
public void testAdd() {
assertEquals(2, new UserDao().add(1, 1));
}
1>注意事项:
1、测试方法上面必须使用@Test注解进行修饰。
2、测试方法必须使用public void 进行修饰,不能带有任何参数。
3、新建一个源代码目录用来存放测试代码。
4、测试类的包应该与被测试类的包保持一致。
5、测试单元中的每一个方法必须独立测试,每个测试方法之间不能有依赖。
6、测试类使用Test做为类名的后缀(非必要)。
7、测试方法使用test作为方法名的前缀(非必要)。
2>错误解析:
1、Failure 一般是单元测试使用的断言方法判断失败引起,说明预期结果和程序运行结果不一致。
2、error 是有代码异常引起的,他产生于测试代码本身中的Bug。
3、测试用例是不是用来证明你是对的,而是用来证明你没有错。
3>测试流程:
代码Demo:
@BeforeClass
public static void setUpBeforeClass() throws Exception { }
@AfterClass
public static void setUpAfterClass() throws Exception { } @Before
public void before() throws Exception { } @After
public void after() throws Exception { }
1、@BeforeClass所修饰的方法在所有方法加载前执行,而且他是静态的在类加载后就会执行该方法,
在内存中只有一份实例,适合用来加载配置文件。
2、@AfterClass所修饰的方法在所有方法执行完毕之后执行,通常用来进行资源清理,例如关闭数据库连接。
3、@Before和@After在每个测试方法执行前都会执行一次。
4>常用注解
1、@Test(excepted=XX.class) 在运行时忽略某个异常。
2、@Test(timeout=毫秒) 允许程序运行的时间。
3、@Ignore 所修饰的方法被测试器忽略。
4、RunWith 可以修改测试运行器 org.junit.runner.Runner
5>测试套件
测试套件是组织测试类一起运行的测试类。具体如下:
代码Demo:
@RunWith(Suite.class)
@Suite.SuiteClasses({UserTest1,UserTest2,UserTest3})
public class SuiteTest{ }
注意事项:
1、作为测试套件的入口类,类中不能包含任何方法。
2、更改测试运行器Suite.class。
3、将需要运行的测试类放入Suite.SuiteClasses({})的数组中。
6>参数化设置
需要测试的仅仅是测试数据,代码结构是不变的,只需要更改测试数据。
代码Demo:
@RunWith(Parameterized.class)
public class parameterTest {
int expected = 0;
int input1 = 0;
int input2 = 0; @Parameters
public static Collection<Object[]> t() {
return Arrays.asList(new Object[][]{
{3,1,2},
{5,2,3}
});
} public parameterTest(int expected,int input1,int input2) {
this.expected = expected;
this.input1 = input1;
this.input2 = input2;
} @Test
public void testAdd() {
assertEquals(expected, UserDao.add(input1,input2));
} }
具体步骤:
1、更改默认的测试运行器为@RunWith(Parameterized.class)。
2、声明变量来存放预期值和测试值。
3、声明一个返回值为Collection的公共静态方法,并用@Parameters修饰。
4、为测试类声明一个带有参数的公共构造函数,并在其中为他声明变量赋值。
以上为基于IntelliJ IDEA 进行的单元测试。
JUnit单元测试--IntelliJ IDEA的更多相关文章
- 【转】 JUnit单元测试--IntelliJ IDEA
原文地址:https://blog.csdn.net/weixin_38104426/article/details/74388375 使用idea IDE 进行单元测试,首先需要安装JUnit 插件 ...
- IntelliJ:JUnit单元测试
0.参考 在Intellij IDEA中添加JUnit单元测试 - 唐啊唐囧囧 - 博客园 1.引言 JUnit是Java中很出名的一个单元测试,关于JUnit的具体介绍,可以看之前写的编写JUnit ...
- 在Intellij IDEA中添加JUnit单元测试
Intellij IDEA中添加JUnit单元测试 目录 Intellij IDEA中添加JUnit单元测试 下载jar包 在Intellij IDEA项目中添加jar包 下载插件并进行设置 创建存放 ...
- Junit 单元测试在 intelliJ IDEA 中的安装
1.为什么使用Junit我们都知道,main 方法是一个程序的入口,通常来说,没有main方法,程序就无法运行.我们经常会写一些class文件(如下图所示),他们并没有自己的main方法.那么我们如何 ...
- junit单元测试(keeps the bar green to keeps the code clean)
error是程序错误,failure是测试错误. junit概要: JUnit是由 Erich Gamma (设计模式的创始人)和 Kent Beck (敏捷开发的创始人之一)编写的一个回归测试框架( ...
- spring && Cobertura && maven &&junit 单元测试以及测试覆盖率
1. 目的: junit 单元测试,Cobertura 测试覆盖率报告 项目目录结构 2. maven 配置 <project xmlns= ...
- 解决Junit单元测试 找不到类 ----指定Java Build Path
做junit 单元测试时,发现怎么执行都是以前编译过得代码. 最后找到原因了, src/test/java 编译完的.class路径是 Default output folder Default ou ...
- JUnit单元测试框架的使用
http://blog.csdn.net/mao520741111/article/details/51462215 原文地址 http://www.open-open.com/lib/view/op ...
- Java 工具 JUnit单元测试
Java 工具 JUnit单元测试 @author ixenos 1.1. JUnit单元测试框架的基本使用 一.搭建环境: 导入junit.jar包(junit4) 二.写测试类: 0,一般一个 ...
随机推荐
- 关于阿里云Centos服务器搭建Java网站不能访问的问题
首先阿里云提供的手册是没问题的 手工搭建 然后我在地址栏输入服务器地址之后总是提示无法访问! 输入命令 netstat -tunlp,80端口确实是在监听(这里不是8080,因为我在tomcat的配置 ...
- hdu 1114Piggy-Bank(完全背包)
传送门 https://www.cnblogs.com/violet-acmer/p/9852294.html 参考资料: [1]:https://www.cnblogs.com/jbelial/ar ...
- raise TemplateDoesNotExist
raise TemplateDoesNotExist(template_name, chain=chain)django.template.exceptions.TemplateDoesNotExis ...
- Java主要版本平台
- luogu P1344 [USACO4.4]追查坏牛奶Pollutant Control
传送门 要求断掉某些边使得两个点不连通,显然是最小割 但是要求选的边数尽量少,,, 可以考虑修改边权(容量),即把边权\(c\)改成\(c*(m+1)+1\) 没了 // luogu-judger-e ...
- 第17月第26天 setImageForState变形
1. 关于UIButton,既可以采用setBackgroundImage 来设置底部图片,同时也可以采用 setImage方法: 两者还是有一定区别的: 首先setBackgroundImage, ...
- mysql 案例 ~ pt校验工具介绍
简介:今天咱们来聊聊PT校验工具pt-table-checksum 注意事项: 1. 根据测试,需要一个即能登录主库,也能登录从库的账号: 2. 只能指定一个host,必须为主库的IP: ...
- mysql原理~undo
mysql undo详谈1 简介:undo是MVCC机制的基础部分之一2 作用:为了实现可重复性读,存储历史数据3 存储:5.6以前undo都存储在内存和ibdata1中,5.6以后undo可以独立成 ...
- python - class类 (一)
三大编程范式 1.面向过程 2.函数式 3.面向对象 注意 编程范式没有高低之分,只有适用不适用. 面向对象编程: 编程是程序源用特定的语法+数据结构+算法组成的代码来告诉计算机如何执行任务的过程,一 ...
- 修改BlackLowKey皮肤样式,增加占屏比
页面定制CSS代码 #home { margin: 0 auto; width: 100%; } #sideBar { min-height: 200px; padding: 0 5px 0 5px; ...