实战目标
新项目采用unit作为单元测试工具
实战要求
1. 测试方式
- 一个接口固定一套测试数据
- 一个接口多套测试数据
2. 测试结果
- 无断言
- 普通断言:>、<、=、is null、not null 等等
- 对象:equals和same
3. 测试数据
- 一个接口一套测试数据:默认runner
- 一个接口多套测试数据:Parametered runner
4. 测试用例
- 单用例
- 无序套件
- 有序套件
5. 自动化
- 自动化范围
- 全量
- 自定义
- 开发环境自动化
- maven集成
- 测试/生产自动化
- 独立运行测试用例
5. 打包排除自动化代码
6. 自动化生成单元测试用例
7. 整合spring
实战笔记:
runner:
junit的所有测试用例都需要runner提供main方法执行,junit已实现多个不同用途的runner,通过@RunWith(XXRunner.class)指定,默认值为JUnitCore.class
JUintCore.class:用于执行普通测试方法
Parameterized.class:用一组测试数据测试方法,JUnitCore为单套测试数据测试方法,需配套使用@Parameters指定测试数据集合,该runner会遍历集合中每套测试数据对方法进行多次测试。
@RunWith(Parameterized.class)
public class JedisParametersTest {
private String key=”name”;
public String value=”nobody”;
private String expected;
public JedisParametersTest(String value){
this.value=value;
this.expected=value;
}
@Parameters
public static Collection data(){
return Arrays.asList(new Object[]{“wuling”,”xiayan”,”dujuan”,”xuwenjie”,”zoudenglin”});
}
@Test
public void jedisSetAndGet(){
TestJedis jedis=new TestJedis();
String result=jedis.jedisSetAndGet(key,value);
Assert.assertEquals(expected,result);
}
}