实战目标:
新项目采用unit作为单元测试工具
实战要求:
1、测试方式
一个接口固定一套测试数据
一个接口多套测试数据
2、测试结果
无断言
普通断言:>、<、=、is null、not null 等等
对象:equals和same
3、测试数据
一个接口一套测试数据:默认runner
一个接口多套测试数据:Parametered runner
3、测试用例
单用例
无序套件
有序套件
4、自动化
4.1 自动化范围
全量
自定义
4.2 开发环境自动化
maven集成
4.3 测试/生产自动化
4.4 独立运行测试用例
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);
}
}