`

junit复习1 @before class @after class

 
阅读更多
先看代码
  

public class JunitTest1 {
 
    private Collection collection;
 
    @BeforeClass
    public static void oneTimeSetUp() {
        // one-time initialization code   
    	System.out.println("@BeforeClass - oneTimeSetUp");
    }
 
    @AfterClass
    public static void oneTimeTearDown() {
        // one-time cleanup code
    	System.out.println("@AfterClass - oneTimeTearDown");
    }
 
    @Before
    public void setUp() {
        collection = new ArrayList();
        System.out.println("@Before - setUp");
    }
 
    @After
    public void tearDown() {
        collection.clear();
        System.out.println("@After - tearDown");
    }
 
    @Test
    public void testEmptyCollection() {
        assertTrue(collection.isEmpty());
        System.out.println("@Test - testEmptyCollection");
    }
 
    @Test
    public void testOneItemCollection() {
        collection.add("itemA");
        assertEquals(1, collection.size());
        System.out.println("@Test - testOneItemCollection");
    }
}


其中要注意的是 @BeforeClass和 @afterclass要在静态方法中使用,它们的含义为 :

1) 在一个类中只可以出现一次
2) @BeforeClass父类中标识了该Annotation的方法将会先于当前类中标识了该Annotation的方法执行。
@AfterClass 父类中标识了该Annotation的方法将会在当前类中标识了该Annotation的方法之后执行
3) 必须声明为public static
4) 所有标识为@AfterClass的方法都一定会被执行,即使在标识为@BeforeClass的方法抛出异常的的情况下也一样会
5) @BeforeClass 和 @AfterClass 对于那些比较“昂贵”的资源的分配或者释放来说是很有效的
分享到:
评论

相关推荐

    在JUnit中使用@Rule测试文件和目录Java开发Ja

    通过重写`before()`和`after()`方法,我们可以在这两个方法中进行资源的初始化和释放,确保测试的隔离性。 对于更复杂的文件系统操作,可能需要自定义规则。比如,我们想监控文件系统的改变,可以实现`org.junit....

    Junit_test.rar_JUnit_JUnit测试_junit工具 @test

    4. **测试注解的扩展**:除了基本的`@Test`,JUnit还提供了其他注解,如`@Before`和`@After`,分别在每个测试方法之前和之后执行,常用于初始化和清理工作。`@BeforeClass`和`@AfterClass`则在整个测试类的生命周期...

    在eclipse中使用junit4教程

    在 jUnit4 中,我们可以使用 @Test、@Before、@After 等 Annotation 来描述测试用例。 @Test Annotation @Test Annotation 用于描述测试方法,该方法将被 jUnit4 执行。例如: ```java public class ...

    junit的jar包

    org.junit.After.class org.junit.AfterClass.class org.junit.Assert.class org.junit.Assume.class org.junit.Before.class org.junit.BeforeClass.class org.junit.ComparisonFailure.class org.junit.Ignore....

    MyBatis 需要注意的地方junit注解

    @RunWith 指定测试类使用的某个运行器参数SpringJUnit4ClassRunner.class @Parameters 指定参数类的参数数据集合 @Rule 允许灵活添加或重新定义测试类中的每个测试方法的行为 @FixMethodOrder 指定测试方法的执行...

    Junit简介和扩展

    2. **继承TestCase类**:`class Junit3Demo extends TestCase { ... }` 3. **命名测试方法**:测试方法必须以`test`开头,例如`public void test1() { ... }` 4. **使用assert方法**:通过`assertTrue`, `...

    junit4学习文档

    而在 JUnit4 中,使用 `@Before` 和 `@After` 注解替代了这些方法。 #### 四、JUnit4 实践案例 下面是一个使用 JUnit4 编写的测试类示例: ```java import org.junit.*; public class AddOperationTest { @...

    Junit5.7.2离线jar

    JUnit Jupiter是JUnit5的核心,负责定义新的API和注解,如@Test、@BeforeEach、@AfterEach等,用于编写测试用例。JUnit Vintage则兼容了JUnit4的API,使得老版本的测试代码可以在JUnit5环境中继续运行。 在Java项目...

    Junit

    JUnit 4还引入了其他注解,如@BeforeClass(在所有测试方法之前运行一次)、@AfterClass(在所有测试方法之后运行一次)、@Before和@After(每个测试方法前后运行)等,提高了测试的灵活性。 此外,JUnit支持参数化...

    junit测试小demo

    - 可以通过`@RunWith(Suite.class)`和`@Suite.SuiteClasses({TestClass1.class, TestClass2.class})`组合,将多个测试类组织成一个测试套件,一次性运行。 6. **测试超时**: - 使用`@Test(timeout = 1000)`可以...

    android-junit单元测试(附代码)

    为了使测试更完整,我们可以使用`@Before`和`@After`注解来定义在每个测试方法之前和之后执行的设置和清理操作。例如: ```java @Before public void setUp() { // 初始化数据或环境 } @After public void ...

    junit5-all-jars

    6. **生命周期管理**:引入了@BeforeEach和@AfterEach,分别在每个测试之前和之后执行,替代了JUnit4的@Before和@After。另外,还有@BeforeEachTemplate、@AfterEachTemplate等,用于在一组测试之间共享设置和清理...

    junit3.8 和junit4 api

    3. **@Before和@After注解**:这两个不是JUnit 3.8的特性,但在描述中提到,所以有必要对比一下。在JUnit 3中,初始化和清理工作是通过`setUp()`和`tearDown()`方法实现的,它们会在每个测试方法之前和之后自动调用...

    junit4 jar包

    在JUnit4中,你可以通过注解(如`@Test`、`@Before`、`@After`、`@Ignore`等)来声明和控制测试行为。`@Test`用于标记测试方法,`@Before`和`@After`则分别用于在每个测试方法之前和之后执行初始化和清理操作。`@...

    jUnit测试框架jar.zip

    在JUnit5(也称为JUnit Platform)中,引入了更多的增强特性,如条件注解(如`@EnabledIf`, `@DisabledIf`)、异步测试支持、扩展的测试生命周期注解(如`@BeforeEach`, `@AfterEach`, `@AfterAll`, `@BeforeAll`)...

    基于Spring的JUnit单元测试

    1. 使用`@RunWith(SpringRunner.class)`和`@ContextConfiguration`设置Spring测试环境。 2. `@Autowired`注解注入需要测试的bean。 3. 编写`@Test`注解的测试方法,结合断言进行验证。 4. 关注测试的隔离性,可能...

    JUnit大合集

    3. **测试生命周期**:增加了诸如`@BeforeEach`和`@AfterEach`这样的生命周期方法,替代了JUnit4中的`@Before`和`@After`。 4. **测试工厂**:使用`@Factory`注解可以创建动态测试用例。 5. **条件测试**:`@...

    1小时学会JUnit4,学不会找我

    这里,`@Before`和`@After`注解分别替代了JUnit3中的`setUp`和`tearDown`方法,它们会在每个测试方法执行前和执行后运行,用于准备测试环境和清理工作。 JUnit4还提供了一些其他有用的注解,例如: - `@BeforeClass...

    Junit使用说明 详细

    Junit提供了丰富的注解,如@Test、@Before、@After等,使得测试代码更加简洁且易于理解。 二、Junit的基本结构 一个基本的Junit测试类通常包含一系列公共的无参数方法,每个方法代表一个测试用例。这些方法以@Test...

Global site tag (gtag.js) - Google Analytics