• 1. junit用法,before,beforeClass,after, afterClass的执行顺序


    一个JUnit4的单元测试用例执行顺序为:

    @BeforeClass -> @Before -> @Test -> @After -> @AfterClass; 


    每一个测试方法的调用顺序为:

    @Before -> @Test -> @After;

    代码示例:

     1 /**
     2  * @author GrimMjx
     3  */
     4 public class JunitTest {
     5 
     6     @BeforeClass
     7     public static void beforeClass(){
     8         System.out.println("BeforeClass");
     9     }
    10 
    11     @Before
    12     public void before(){
    13         System.out.println("Before");
    14     }
    15 
    16     @Test
    17     public void test(){
    18         System.out.println("Test");
    19     }
    20 
    21     @Test
    22     public void test2(){
    23         System.out.println("Test2");
    24     }
    25 
    26     @After
    27     public void after(){
    28         System.out.println("After");
    29     }
    30 
    31     @AfterClass
    32     public static void afterClass(){
    33         System.out.println("AfterClass");
    34     }
    35 }

    执行结果:

    BeforeClass
    Before
    Test
    After
    Before
    Test2
    After
    AfterClass

    @BeforeClass、@AfterClass和@Before、@After的对比

    1.@BeforeClass 和 @AfterClass 对于那些比较“昂贵”的资源的分配或者释放来说是很有效的,因为他们只会在类中被执行一次。相比之下对于那些需要在每次运行之前都要初始化或者在运行之后 都需要被清理的资源来说使用@Before和@After同样是一个比较明智的选择;

    2.如果类里面可以有多个注解过@Before和@After的方法,它们的执行顺序是未知的;

    3.@BeforeClass  @AfterClass注解是junit提供的另外的两个注解,必须设置在public 静态方法之上,表示在class加载之前执行,这样设置的方法只会执行一次,而@Before @After则会再每次test之前/之后执行;

    4.在JUnit4中,如果测试类继承了TestCase类,那么所有的Annotation都不会起作用。

  • 相关阅读:
    第三周作业 1802王兆明
    3.19 第二次作业
    Android-----------ListView练习
    Android----------------------滚动视图练习
    Android-------------------CheckBox小练习
    Android注册
    Android登陆界面
    第一上机练习~~~~~~~~~~~~~~~~~~~~~~~~~~~~武汉一定要加油!!!
    第一上机练习~~~~~~~~~~~~~~~~~~~~~~~~~~~~武汉一定要加油!!!
    第5上机练习~~~~~~~~~~~~~~~~~~~~~~~~~~~~武汉一定要加油!!!
  • 原文地址:https://www.cnblogs.com/GrimMjxCl/p/9296634.html
Copyright © 2020-2023  润新知