JUNIT测试框架的简单使用
Posted 54chensongxia
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JUNIT测试框架的简单使用相关的知识,希望对你有一定的参考价值。
示例Demo
/**
* 使用JUNIT进行单元测试的一般步骤是:
*
* step1:创建一个测试类,下面的列子中是CalculateServiceImplTest
*
* step2:向测试类中添加名为 testAdd() 的方法。
*
* step3:向方法:上添加 Annotaion @Test。
*
* step4:执行测试条件并且应用 Junit 的 assertEquals API 来检查。
*
*
*/
public class CalculateServiceImplTest {
public static final Logger logger = LoggerFactory.getLogger(CalculateServiceImplTest.class);
private CalculateService calculateService;
@Before
public void setUp() throws Exception {
logger.info("begin to test...");
calculateService = new CalculateServiceImpl();
}
@Test
public void testAdd(){
Assert.assertEquals(calculateService.add(2,2),4);
}
@After
public void tearDown() throws Exception {
logger.info("end to test...");
}
}
JUnit中的Assert
public class Assert extends java.lang.Object
这个类提供了一系列的编写测试的有用的声明方法。只有失败的声明方法才会被记录。
void assertEquals(boolean expected, boolean actual)
- 检查两个变量或者等式是否平衡
void assertFalse(boolean condition)
- 检查条件是假的
void assertNotNull(Object object)
- 检查对象不是空的
void assertNull(Object object)
- 检查对象是空的
void assertTrue(boolean condition)
- 检查条件为真
void fail()
- 在没有报告的情况下使测试不通过
这些方法我就不一一介绍了,相信我的读者们都能看懂并在平时开发中用的到,还是比较容易理解的。
Assert可以用来判断方法的真是结果和预期结果是否一样。是我们在写单元测试中用到最多的一个api。
JUnit中的注解
@BeforeClass
:针对所有测试,只执行一次,且必须为static void@Before
:初始化方法@Test
:测试方法,在这里可以测试期望异常和超时时间@After
:释放资源@AfterClass
:针对所有测试,只执行一次,且必须为static void@Ignore
:忽略的测试方法
一个单元测试类执行顺序为:
@BeforeClass
–> @Before
–> @Test
–> @After
–> @AfterClass
每一个测试方法的调用顺序为:
@Before
–> @Test
–> @After
时间测试
如果一个测试用例比起指定的毫秒数花费了更多的时间,那么 Junit 将自动将它标记为失败。timeout 参数和 @Test
注释一起使用。现在让我们看看活动中的 @test(timeout)。
@Test(timeout = 1000)
public void testTimeoutSuccess() {
// do nothing
}
异常测试
你可以测试代码是否它抛出了想要得到的异常。expected 参数和 @Test 注释一起使用。现在让我们看看活动中的 @Test(expected)。
@Test(expected = NullPointerException.class)
public void testException() {
throw new NullPointerException();
}
以上是关于JUNIT测试框架的简单使用的主要内容,如果未能解决你的问题,请参考以下文章