在所有测试用例之前加载数据并在所有测试用例之后销毁

时间:2017-04-18 06:13:09

标签: java spring maven junit

我使用SpringJUnit4ClassRunner来运行我的Integration测试用例。 现在我将数据加载到内存HSQL中,用于@Before方法中的每个junit测试用例,并在Junit Test类中用@After方法销毁它。  我需要让数据加载只发生一次,所有测试用例都驻留在测试文件夹中。完成所有测试用例后也应该销毁。 我在内存中使用Maven构建,JDK8,Spring 4.2.5和HSQL。

请帮助我实现这个逻辑。

1 个答案:

答案 0 :(得分:1)

是的,可以使用JUnit - Suite Test

创建包含所有必要测试类的Test Suite。在此处配置您的设置和拆解方法

package com.test;

import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;

@RunWith(Suite.class)
@SuiteClasses({Test1.class, Test2.class})
public class TestSuite {

    @BeforeClass
    public static void setUp() {
         // Set up database
    }

    @AfterClass
    public static void tearDown() {
        // Cleanup codes
    }

}

通常创建测试类

package com.test;

import org.junit.Test;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:context.xml" })
public class Test1 {
    @Test
    public void test1() {
        System.out.println("test1");
    }

}