`
mwhgJava
  • 浏览: 94921 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

JUNIT4 笔记(三) 测试用例

阅读更多
测试用例需要用@Test注释标识。
@Test 位于一个方法前,标识该方法是一个测试用例。该方法必须是一个公有无参数无返回值的实例方法(public | void | no parameters | not static)。
@Test public void testAdd(){
		assertEquals(5,2+3);
	}

@Test @interface定义了timeout方法和expected方法。

@Test (timeout=?)  其中“?”为long型数字,单位是毫秒。表示如果用例执行时间超过该时间,即断言用例失败。
@Test (timeout=5000)

@Test (expected=?)  其中“?”为java.lang.Throwable及其子类。表示该用例期望抛出一个Throwable,如果执行过程中抛出了期望的Throwable,则断言成功,否则断言失败。
@Test (expected=Throwable.class) 
@Test (expected= NullPointerException.class) 

测试用例断言失败,即宣告测试用例执行结束。

JUnit4为每一个测试用例创建一个测试类实例。
public class MyTestcase {
    public MyTestcase(){
    	System.out.println("new Instance");
    }
	@Test public void test1() {
    	System.out.println("@test1");
    	assertTrue(true);
    }
	@Test public void test2(){
    System.out.println("@test2");
		assertEquals(5,2+3);
	}
}

代码执行会打印下列结果:

    new Instance
    @test1
    new Instance
    @test2


JUnit4规范要求,不同测试用例不共享实例变量,也不假想类中测试用例有固定的执行顺序。测试用例的执行顺序,由测试运行器的调用顺序决定,不同测试运行器执行顺序不同,同一测试运行器的调用顺序也可能不同(比如,多线程测试运行器)。


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics