JUnit的复习
来源:互联网 发布:日本 西装定制 知乎 编辑:程序博客网 时间:2024/05/04 07:25
今天是实习的第一天。在熟悉周围环境以后,在IDE上自己练习JUnit单元测试。
JUnit4的一些区别
首先是测试函数命名没有上一代的限制,不需要用“xxxTest”来表示测试代码,而是采用@Test表明测试部分。
@Before和@After表示了setup和teardown的方法。
引用:
@BeforeClass
全局只会执行一次,而且是第一个运行@Before
在测试方法运行之前运行@Test
测试方法@After
在测试方法运行之后允许@AfterClass
全局只会执行一次,而且是最后一个运行@Ignore
忽略此方法- 执行次序是
@BeforeClass
->@Before
->@Test
->@After
->@Before
->@Test
->@After
->@AfterClass
。@Ignore
会被忽略。
其次,终于不需要像JUnit3一样extend Testcase了。
参数化:
在昨天的基础上,碰到了一点问题:
我可以添加一个@Test来执行一个测试(用例),如果我需要测试很多个用例呢?难道需要建立很多个@Test方法么?
Well,这个时候就用到了@Parameter的标签了。
基本使用方法
@RunWith
当类被@RunWith注解修饰,或者类继承了一个被该注解修饰的类,JUnit将会使用这个注解所指明的运行器(runner)来运行测试,而不是JUnit默认的运行器。
要进行参数化测试,需要在类上面指定如下的运行器:
@RunWith (Parameterized.class)
然后,在提供数据的方法上加上一个@Parameters注解,这个方法必须是静态static的,并且返回一个集合Collection。
在测试类的构造方法中为各个参数赋值,(构造方法是由JUnit调用的),最后编写测试类,它会根据参数的组数来运行测试多次。
通过@Runwith 参数化的使用,我们可以不和@Test说话并丢出了一大堆参数让它一个一个测试并且报告结果
如同测试类构造函数定义,三个参数分别为输入1,输入2和预期结果。
Collection类型对应的这三个参数向@Test传递四组参数。
使用@Ignore标签让测试类不去测试旧的代码部分。因为这里要用新的方法测试。
由于不像上图那种方法,没有对两个输入和一个期待值进行直接定义,代码仅剩assertEquals()一行。
(instance被放在了私有成员中,并在@Before标签中初始化)
很好,JUnit自动输入了我们放进去的这几组数据,并显示结果。
这样就不需要手动去改数据而是可以一次性完成对某个函数的多个参数测试了。
如同之前一样的结果表示。
- JUnit的复习
- Junit复习笔记
- Junit简单复习
- Android复习笔记(3)-android下的junit
- 03Junit Junit的annotation
- Android复习练习三(安卓下简单JUnit测试)
- 《junit in action》:学习junit的好书!
- JUnit学习之JUnit的基本介绍
- junit学习之junit的基本介绍
- junit学习之junit的基本介绍
- JUnit教程 -- 使用Eclipse的JUnit实例
- junit学习之junit的基本介绍
- junit学习之junit的基本介绍
- junit 3 和junit 4的区别
- Junit的魅力
- JUnit的特点
- junit的入门
- JUnit 4 的新功能
- Web应用的根目录构成解析
- 解决android studio错误 --> Error:(1, 0) Plugin with id 'com.android.application' not found
- R语言数据的预处理以及算法基础小记
- skynet框架 源码分析 三
- 秋月与父同游金山寺
- JUnit的复习
- skynet框架 源码分析 四
- 从windows上传到linux数据
- 【Android应用】加载图片避免oom
- C++ 语法大汇总
- skynet框架 源码分析 五
- [BZOJ1705] [Usaco2007 Nov]Telephone Wire 架设电话线
- js 判断附件后缀
- Java 8 Lambda函数编程入门(五)