java单元测试注释执行顺序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

java单元测试注释执⾏顺序JUnit4通过注解的⽅式来识别测试⽅法。⽬前⽀持的主要注解有:

@BeforeClass全局只会执⾏⼀次,⽽且是第⼀个运⾏

@Before在测试⽅法运⾏之前运⾏

@Test测试⽅法

@After在测试⽅法运⾏之后允许

@AfterClass全局只会执⾏⼀次,⽽且是最后⼀个运⾏

@Ignore忽略此⽅法

下⾯举⼀个样例:

1. import org.junit.After;

2. import org.junit.AfterClass;

3. import org.junit.Assert;

4. import org.junit.Before;

5. import org.junit.BeforeClass;

6. import org.junit.Ignore;

7. import org.junit.Test;

8.

9. public class Junit4TestCase {

10.

11. @BeforeClass

12. public static void setUpBeforeClass() {

13. System.out.println("Set up before class");

14. }

15.

16. @Before

17. public void setUp() throws Exception {

18. System.out.println("Set up");

19. }

20.

21. @Test

22. public void testMathPow() {

23. System.out.println("Test Math.pow");

24. Assert.assertEquals(4.0, Math.pow(2.0, 2.0), 0.0);

25. }

26.

27. @Test

28. public void testMathMin() {

29. System.out.println("Test Math.min");

30. Assert.assertEquals(2.0, Math.min(2.0, 4.0), 0.0);

31. }

32.

33. // 期望此⽅法抛出NullPointerException异常

34. @Test(expected = NullPointerException.class)

35. public void testException() {

36. System.out.println("Test exception");

37. Object obj = null;

38. obj.toString();

39. }

40.

41. // 忽略此测试⽅法

42. @Ignore

43. @Test

44. public void testMathMax() {

45. Assert.fail("没有实现");

46. }

47. // 使⽤“假设”来忽略测试⽅法

48. @Test

49. public void testAssume(){

50. System.out.println("Test assume");

51. // 当假设失败时,则会停⽌运⾏,但这并不会意味测试⽅法失败。

52. Assume.assumeTrue(false);

53. Assert.fail("没有实现");

54. }

55.

56. @After

57. public void tearDown() throws Exception {

58. System.out.println("Tear down");

59. }

60.

61. @AfterClass

62. public static void tearDownAfterClass() {

63. System.out.println("Tear down After class");

64. }

65.

66. }

Junit3的package是junit.framework,⽽Junit4是org.junit。

执⾏此⽤例后,控制台会输出

写道

Set up before class

Set up

Test Math.pow

Tear down

Set up

Test Math.min

Tear down

Set up

Test exception

Tear down

Set up

Test assume

Tear down

Tear down After class

可以看到,执⾏次序是@BeforeClass -> @Before -> @Test -> @After -> @Before -> @Test -> @After -> @AfterClass。@Ignore会被忽略。

相关文档
最新文档