标签:des style blog http io os 使用 java ar
1 junit测试用例代码
package junitTest; import static org.junit.Assert.*; import org.junit.After; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Ignore; import org.junit.Test; /** * @ClassName TestCase * @Description junit测试用例演示 * @date 2014年9月11日 上午9:57:45 * */ public class TestCase { // @Test // public void test() { // fail("Not yet implemented"); // } /** * * @Title setUpBeforeClass * @Description 针对所有测试,只执行一次,在该class执行前执行,且必须为static void * @param * @return * @throws */ @BeforeClass public static void setUpBeforeClass() throws Exception { System.out.println("in BeforeClass================"); } /** * * @Title tearDownAfterClass * @Description 针对所有测试,只执行一次,在该class执行完后执行,且必须为static void * @param * @return * @throws */ @AfterClass public static void tearDownAfterClass() throws Exception { System.out.println("in AfterClass================="); } /** * * @Title before * @Description 初始化测试方法,每个测试方法都需要调用一次 * @param * @return * @throws */ @Before public void before() { System.out.println("in Before"); } /** * * @Title after * @Description 测试方法执行完后释放资源,每个测试方法都需要调用一次 * @param * @return * @throws */ @After public void after() { System.out.println("in After"); } @Test(timeout = 10000) public void testadd() { JDemo a = new JDemo(); assertEquals(6, a.add(3, 3)); System.out.println("in Test ----Add"); } @Test public void testdivision() { JDemo a = new JDemo(); assertEquals(3, a.division(6, 2)); System.out.println("in Test ----Division"); } @Ignore @Test public void test_ignore() { JDemo a = new JDemo(); assertEquals(6, a.add(1, 5)); System.out.println("in test_ignore"); } @Test public void test_fail() { fail(); } } /** * * @ClassName JDemo * @Description 测试类 * @date 2014年9月11日 上午10:15:15 * */ class JDemo extends Thread { int result; public int add(int a, int b) { try { sleep(1000); result = a + b; } catch (InterruptedException e) { System.out.println("add error"); } return result; } public int division(int a, int b) { return result = a / b; } }
2 java执行结果
in BeforeClass================
in Before
in Test ----Division
in After
in Before
in After
in Before
in Test ----Add
in After
in AfterClass=================
3 junit执行结果
4 执行顺序
一个测试类单元测试的执行顺序为:
@BeforeClass –> @Before –> @Test –> @After –> @AfterClass
每一个测试方法的调用顺序为:
@Before –> @Test –> @After
5 断言核心方法
assertArrayEquals(expecteds, actuals) | 查看两个数组是否相等。 |
assertEquals(expected, actual) | 查看两个对象是否相等。类似于字符串比较使用的equals()方法 |
assertNotEquals(first, second) | 查看两个对象是否不相等。 |
assertNull(object) | 查看对象是否为空。 |
assertNotNull(object) | 查看对象是否不为空。 |
assertSame(expected, actual) | 查看两个对象的引用是否相等。类似于使用“==”比较两个对象 |
assertNotSame(unexpected, actual) | 查看两个对象的引用是否不相等。类似于使用“!=”比较两个对象 |
assertTrue(condition) | 查看运行结果是否为true。 |
assertFalse(condition) | 查看运行结果是否为false。 |
assertThat(actual, matcher) | 查看实际值是否满足指定的条件 |
fail() | 让测试失败 |
6 junit方法声明
@Before | 初始化方法 |
@After | 释放资源 |
@Test | 测试方法,在这里可以测试期望异常和超时时间 |
@Ignore | 忽略的测试方法 |
@BeforeClass | 针对所有测试,只执行一次,且必须为static void |
@AfterClass | 针对所有测试,只执行一次,且必须为static void |
@RunWith | 指定测试类使用某个运行器 |
@Parameters | 指定测试类的测试数据集合 |
@Rule | 允许灵活添加或重新定义测试类中的每个测试方法的行为 |
@FixMethodOrder | 指定测试方法的执行顺序 |
参考文件:http://blog.csdn.net/wangpeng047/article/details/9628449
标签:des style blog http io os 使用 java ar
原文地址:http://my.oschina.net/mkh/blog/312314