junit4单元测试的注释使用说

来源:互联网 发布:舞台激光灯编程软件 编辑:程序博客网 时间:2024/06/05 07:44

junit4单元测试的注释使用说


右键项目->properties->Java Build Path->Libraies->Add Library->JUnit->next->JUnit 4->Finish 

左键要进行测试的类(比如 Hourse.java)->junit test case ->选择所要测试的方法->finish->生成一个要测试的类+Test.java的新类(HourseTest.java) 

assertEquals()对结果的判断,为真是测试方法通过。 

junit4单元测试的标签: 

@BeforeClass 在测试初始化时执行 

@Before 每次执行@Test方法测试前执行 

@Ignore 忽略测试 

@Test 测试方法 

@After 每次执行@Test方法测试后执行 

@AfterClass 在所有测试结束后执行 

每个测试类只能有一个方法被标注为@BeforeClass 或 @AfterClass,并且该方法必须是Public和Static的。 



限时测试@Test(timeout = 1000) timeout 毫秒数 



测试异常: 

如果函数应该抛出异常,但是它没抛出,JUnit帮助我们找到这种Bug。例如,我们写的计算器类有除法功能,如果除数是一个0,那么必然要抛出“除0异常”。因此,我们很有必要对这些进行测试。代码如下: 

@Test(expected = ArithmeticException.class) expected 异常类 



Runner (运行器) 

大家有没有想过这个问题,当你把测试代码提交给JUnit框架后,框架如何来运行你的代码呢?答案就是——Runner。在JUnit中有很多个Runner,他们负责调用你的测试代码,每一个Runner都有各自的特殊功能,你要根据需要选择不同的Runner来运行你的测试代码。可能你会觉得奇怪,前面我们写了那么多测试,并没有明确指定一个Runner啊?这是因为JUnit中有一个默认Runner,如果你没有指定,那么系统自动使用默认Runner来运行你的代码。换句话说,下面两段代码含义是完全一样的: 

import org.junit.internal.runners.TestClassRunner; 

import org.junit.runner.RunWith; //使用了系统默认的TestClassRunner,与下面代码完全一样 



public class CalculatorTest ...{...}  



@RunWith(TestClassRunner.class) 

public class CalculatorTest ...{...} 





打包测试 Test.java 

@Suite.SuiteClasses,来表明这个类是一个打包测试类 



import org.jinsheng.junit.CalculatorTest; 

import org.junit.runner.RunWith; 

import org.junit.runners.Suite; 



@RunWith(Suite.class) 

@Suite.SuiteClasses({ 

           CalculatorTest.class, 

           CalculatorTest.class 

           }) 

public class Test{} 
0 0
原创粉丝点击