Spring And JUnit4

嗯,先自首,活了這麼久,在今天之前,我從沒用JUnit4寫過任何一個Spring 有關的Unit Test
反正AbstractDependencyInjectionSpringContextTests跟AbstractTransactionalSpringContextTests也夠用。。。
但是為了說明自已不是老狗,只好學學這個,看看可不可以不要當老狗…

準備工作

JDK一定要是JDK5以上(沒的話就收工),
而pom.xml 要加入的Dependency:

<dependency>
 <groupId>junit</groupId>
 <artifactId>junit</artifactId>
 <version>4.4</version>
 <scope>test</scope>
</dependency>
<dependency>
 <groupId>org.springframework</groupId>
 <artifactId>spring-test</artifactId>
 <version>2.5.2</version>
</dependency>

然後在要測試的Class上加入幾個Annotation

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations= {"/applicationContext.xml"})
public class YourTest {
 @Autowired
 private MasterDAO masterDAO;
 
 @Before
 public void init() {
  
 }

 @After
 public void destroy() {
  
 }

 @Test
 public void testList() {
  this.masterDAO.findAll();
 }
}

@RunWith(SpringJUnit4ClassRunner.class)一定要加,讓Spring能正確執行準備工作
@ContextConfiguration指定要讀入的Spring XML Configurations
@Autowired 利用名稱將Spring XML Configurations相同名稱的Bean inject到這個Property, @Resource功能類似,但可以指定Bean的名字
@Before and @After就同於之前的setup and teardown,
@Test 就代表是要執行的Test Method

前後不到30分鐘,就算搞定可以收工了

其他跟Transaction相關的也都很易懂。不懂的就翻書,哈哈

再次說明了,我不是老狗,充其量也不過是隻懶狗。

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料