zoukankan      html  css  js  c++  java
  • 关于面试问题

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

    转自:https://blog.csdn.net/anders_zhuo/article/details/8955226

    JUnit4使用Java5中的注解(annotation),以下是JUnit4常用的几个annotation: 
    @Before:初始化方法   对于每一个测试方法都要执行一次(注意与BeforeClass区别,后者是对于所有方法执行一次)
    @After:释放资源  对于每一个测试方法都要执行一次(注意与AfterClass区别,后者是对于所有方法执行一次)
    @Test:测试方法,在这里可以测试期望异常和超时时间 
    @Test(expected=ArithmeticException.class)检查被测方法是否抛出ArithmeticException异常 
    @Ignore:忽略的测试方法 
    @BeforeClass:针对所有测试,只执行一次,且必须为static void 
    @AfterClass:针对所有测试,只执行一次,且必须为static void 
    一个JUnit4的单元测试用例执行顺序为: 
    @BeforeClass -> @Before -> @Test -> @After -> @AfterClass; 
    每一个测试方法的调用顺序为: 

    @Before -> @Test -> @After; 

    public class JUnit4Test {   
        @Before  
        public void before() {   
            System.out.println("@Before");   
        }   
        
        @Test  
             /**  
              *Mark your test cases with @Test annotations.   
              *You don’t need to prefix your test cases with “test”.  
              *tested class does not need to extend from “TestCase” class.  
              */  
        public void test() {   
            System.out.println("@Test");   
            assertEquals(5 + 5, 10);   
        }   
        
        @Ignore  
        @Test  
        public void testIgnore() {   
            System.out.println("@Ignore");   
        }   
        
        @Test(timeout = 50)   
        public void testTimeout() {   
            System.out.println("@Test(timeout = 50)");   
            assertEquals(5 + 5, 10);   
        }   
        
        @Test(expected = ArithmeticException.class)   
        public void testExpected() {   
            System.out.println("@Test(expected = Exception.class)");   
            throw new ArithmeticException();   
        }   
        
        @After  
        public void after() {   
            System.out.println("@After");   
        }   
        
        @BeforeClass  
        public static void beforeClass() {   
            System.out.println("@BeforeClass");   
        };   
        
        @AfterClass  
        public static void afterClass() {   
            System.out.println("@AfterClass");   
        };   
    };  

    输出结果: 
    @BeforeClass 
    @Before 
    @Test(timeout = 50) 
    @After 
    @Before 
    @Test(expected = Exception.class) 
    @After 
    @Before 
    @Test 
    @After 
    @AfterClass 

  • 相关阅读:
    Android实战:手把手实现“捧腹网”APP(一)-----捧腹网网页分析、数据获取
    容器云平台使用体验:数人云Crane(续)
    [React Native]升级React Native版本
    [React Native]去掉WebStorm中黄色警告
    数据库--mysql介绍
    缓存数据库-redis(补充)
    缓存数据库-redis(订阅发布)
    缓存数据库-redis(管道)
    缓存数据库-redis数据类型和操作(sorted set)
    缓存数据库-redis数据类型和操作(set)
  • 原文地址:https://www.cnblogs.com/llfy/p/9046354.html
Copyright © 2011-2022 走看看