注:此文章是作者观看慕课网的软件测试学习后,做的笔记。
JUint单元测试
- 1.测试方法必须都用@Test进行修饰
- 2.测试方法必须使用public void进行修饰,不能带参数
- 3.新建一个猿代码目录存放测试代码
- 4.测试的包名必须和被测试的包名保持一致
- 5.测试单元中的每一个方法都可以保持独立,都能独立测试,不能有任何的依赖
- 6.测试类使用Test作为类名的后缀
- 7.测试方法用test作为方法名的前缀
Failure和Error
- Failure一般由单元测试使用的断言方法判断失败引起的,他表示测试点发现了问题,也就是说预期值和测试的输出的结果不一样
- Error是由代码异常引起的,他可以产生于测试代码本身的错误,也可以是被测试代码中的隐藏bug
- 测试用例不是用来证明你是对的,而是用来证明你是没有错的
JUnit运行流程
- @BeforeClass修饰的方法会在所有的方法执行前执行,并且只会执行一次,而且该方法是静态的,在内存中只存在一份实例,一般用来加载配置文件。
- @AfterClass修饰的方法会在所有的方法执行完后执行,只会执行一次,通常用来对资源的清理,如:数据库的关闭
- @Before和@After会在每个测试方法@Test执行前后,各执行一次
JUnit常用的注解
- @Test将普通的方法修饰为测试方法
- @Test(expected=XX.class)抛出异常
- @Test(timeout=毫秒)时间
- @Ignore所修饰的方法会被测试运行器忽略
- @RunWith:可以更改测试运行器,自己定义的运行器只需要继承org.junit.runner.Runner
JUnit测试套件的使用
- 测试套件类就是组织测试类一起运行的
- 写一个作为测试套件的入口类,这个类里不能包含其他的方法,是个空类。
- 更改测试运行器Suite.class
- 将要测试的类作为数组传入到Suite.SuiteClass({XX.class,XX.class})
JUnit参数化设置
- 更改默认的测试运行器为@RunWith(Parameterized.class)
- 声明变量,用来存放预期值和结果值
- 声明一个返回值为Collection的公共静态方法,并使用@Parameters进行修饰
- 为测试类声明一个带有参数的构造函数,并在其中为变量赋值
@Parameters
public static Collection<Object[]>coll(){
return Arrays.asList(new Object[][]){
{类的方法里的参数},
...
}
}
Spring与Hibernate整合测试
- 1、添加 Spring,Hibernate,MySQL 等jar包。
- 2、添加 Spring 配置文件,Hhibernate 配置文件。
- 3、@BeforeClass 获得 Spring 的配置文件 ClassPathXmlApplicationContext(“配置文件”)。
- 4、测试通过 getBean 获得 Spring 管理的 bean 是否成功。(Hibernate、Spring+Hibernate同理测试可得)