Junit单元测试注解的执行顺序

发表于:2018-2-22 10:17

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:翻滚吧李博    来源:简书

  如果在我们平时开发App中,每写一个功能,就要重新运行一下,再从头点进去,再操作,反反复复就比较耗时间。比如我想测试该请求解析数据是否正确,写的时间转化,数据过滤是否正确的场景。而单元测试直接在代码里,只需要运行几个方法,瞬间完成功能的测试。
  每次在创建工程后,会在src/test文件夹下创建一个用于测试的类——UnitTest,默认创建的单元测试类。并且在gradle文件的dependencies依赖中自动已经添加了testCompile 'junit:junit:4.12'Junit单元测试库。
  image.png
  直接运行该类,在2ms内通过测试,通过测试报绿色,报红色表示不通过。
  image.png
  Junit常用注解:
  注解名 含义
  @Test 表示此方法为测试方法
  @Before 在每个测试方法前执行,可做初始化操作
  @After 在每个测试方法后执行,可做释放资源操作
  @Ignore 忽略的测试方法
  @BeforeClass 在类中所有方法前运行,只执行一次。此注解修饰的方法必须是static void
  @AfterClass 在类中最后运行,只执行一次。此注解修饰的方法必须是static void
  @RunWith 指定该测试类使用某个运行器
  @Parameters 指定测试类的测试数据集合
  @Rule 重新制定测试类中方法的行为
  @FixMethodOrder 指定测试类中方法的执行顺序
  测试各个方法执行顺序:
  public class ExampleUnitTest {
      @BeforeClass
      public static void beforeClass(){
          System.out.println("测试类开始前");
      }
      @Before
      public void before(){
          System.out.println("测试方法开始前");
      }
      @Ignore
      @Test
      public void testIgnore() {
          System.out.println("忽略的方法");
      }
      @Test
      public void test() throws Exception {
          System.out.println("测试方法");
      }
      @After
      public void after(){
          System.out.println("测试方法结束后");
      }
      @AfterClass
      public static void afterClass(){
          System.out.println("测试类结束后");
      }
  }
  测试结果:执行顺序:@BeforeClass –> @Before –> @Test –> @After –> @AfterClass
  image.png


上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号