1. 程式人生 > >Spring Junit集成測試

Spring Junit集成測試

blog simple 註解 rac red runner sys 其他 ext

例子如下:

package com.junge.demo.spring;

import static org.junit.Assert.assertEquals;

import java.util.List;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import com.junge.demo.spring.service.IPerface; import com.junge.demo.spring.service.ServiceConfig; /** * Unit test for simple App. */ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(classes=ServiceConfig.class) public class AppTest { @Autowired private List<IPerface> perfaceList; @Test
public void addTest() { System.out.println("333"); } @Test public void playTest() { assertEquals(2, perfaceList.size()); } }

其中用到了2個註解

1.@RunWith 這是Junit提供的,註意Junit版本要和spring兼容,例如spring用4.1.13.RELEASE版本,Junt可以用4.12版本,如果不兼容,用例跑不起來。

2.@ContextConfiguration 這是spring提供的註解,用來配置spring的上下文配置,如果是使用javaconfig風格配置的,如上面例子所示;如果是使用xml文件配置的,可以用下面的配置:

@ContextConfiguration(locations = { "classpath:applicationContext.xml" })

一般在項目中測試時,會配置一個基類測試類,其他測試類都繼承自該基類,這樣就不需要在每一個測試類中添加配置。

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:applicationContext.xml" })
public abstract class BaseServiceTest {
    
    
}

Spring Junit集成測試