2017-04-18 60 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

相關問題