java单元测试入门——JUnit

来源:互联网 发布:淘宝提交营业执照 编辑:程序博客网 时间:2024/04/30 23:53
  1. 写测试类的原则
    测试方法上必须使用@Test进行修饰;
    测试方法必须使用public void 进行修饰,不能带任何的参数;
    新建一个源代码目录来存放我们的测试代码;
    测试类的包应该和被测试类的包保持一致;
    测试单元中的每个方法必须可以独立测试,测试方法间不能有任何的依赖;
    测试类使用Test作为类名的后缀(不是必须);
    测试方法使用test作为方法名的前缀(不是必须)
  2. 测试用例不是用来证明你是对的,而是用来证明你没有错
    测试失败的两种情况:Error和Failure。
    Failure一般由单元测试使用的断言方法判断失败所引起的,这表示测试点发现了问题,就是说程序输出的结果和我们预期的不一样,比如,除法中的除数不能为0,若为0就会出现Failure.
    Error是由代码异常引起的,它可以产生于测试代码本身的错误,也可以是被测试代码中隐藏的一个bug
    测试用例不是用来证明你是对的,而是用来证明你没有错。
  3. JUnit的运行流程
    是@BeforeClass,@before,@test1,@after,@before,@test2,@after,@AfterClass
    @beforeClass修饰的方法会在所有方法被调用前执行,而且该方法是静态的,所以当测试类被加载后接着就会运行它,而且在内存中它只会存在一份实例,它比较适合加载配置文件
    @AfterClass所修饰的方法通常用来对资源的清理,如关闭数据库的连接
    @Before和@After会在每个测试方法的前后各执行一次
  4. JUnit中的常用注解
    @Test将一个普通的方法修饰成为一个测试方法
    @Test(expected=XX.class),比如出现除数为0的情况,可以使测试通过
    @Test(timeout=毫秒),比如用在死循环中,通过设置timeout可以使循环停下来
    @Before会在所有方法的运行前被执行,static修饰
    @AfterClass会在所有的方法运行结束后被执行,static 修饰
    @Before:会在每个测试方法被运行前执行一次
    @After:会在每个测试方法运行后被执行一次
    @Ignore:所修饰的测试方法会被测试运行器忽略,不会被执行
    @RunWith:可以更改测试运行器
0 0
原创粉丝点击