【JUnit】BeforeClass、AfterClass、Before与After示例

一、初始化标注

在老Junit4提供了setUp()和tearDown(),在每个测试函数调用之前/后都会调用。

@Before: Method annotated with @Before executes before every test.
@After:   Method annotated with @After executes after every test.

 

如果在测试之前有些工作我们只想做一次,用不着每个函数之前都做一次。比如读一个很大的文件。那就用下面两个来标注:

@BeforeClass
@AfterClass

注意:

@Before/@After 可以有多个; @BeforeClass/@AfterClass 只有一个

如果我们预计有Exception,那就给@Test加参数:

@Test(expected = XXXException.class)

 

如果出现死循环怎么办?这时timeout参数就有用了:

@Test(timeout = 1000)

 

如果我们暂时不用测试一个用例,我们不需要删除或都注释掉。只要改成:

@Ignore

你也可以说明一下原因@Ignore("something happens")

  测试加载顺序


【代码片段】

public class TestIt {
private TestJUnit tju = null;
@BeforeClass
public static void enter() {
System.out.println("进来了!");
}
@Before
public void init() {
System.out.println("正在初始化。。");
tju = new TestJUnit();
System.out.println("初始化完毕!");
} @Test
 public void testit() { 
tju.run();
}
@After
public void destroy() {
System.out.println("销毁对象。。。");
tju = null;
System.out.println("销毁完毕!");
}
@AfterClass
public static void leave() {
System.out.println("离开了!");
}
}

【运行结果】

进来了!
正在初始化。。
初始化完毕!
Hello,JUnit
销毁对象。。。
销毁完毕!
离开了!
阅读更多
文章标签: junit 测试
个人分类: IT-编程语言-Java
上一篇编码规范系列(一):Eclipse Code Templates设置
下一篇如何在windows下安装cygwin
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭