2017-04-18 28 views
3

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

请帮助我实现这一逻辑。

回答

1

是有可能使用JUnit - Suite Test

创建您的测试套件,包括所有必要的测试类。配置您的设置,在这里拆卸方法

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 
    } 

} 

,创造你的测试类通常

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"); 
    } 

} 
+0

我使用@RunWith(SpringJUnit4ClassRunner.class)来。但您的解决方案是使用@RunWith(Suite.class).Clarify我。 – Ramkumar

+0

@ user3669712在您的测试类中添加您的@RunWith(SpringJUnit4ClassRunner.class)注释更新我的代码。 – mirmdasif

+0

@DO我们需要任何测试运行器来运行测试用例吗?或者我们需要运行Testsuite或Test1 – Ramkumar

相关问题