@RunWith(SpringJunit4ClassRunner.class) 簡介


  1.今天我在看Spring實戰這本書時,我看到了@RunWith(SpringJunit4ClassRunner.class)這樣的單元測試

package com.xuefei.spring_pro.test;

import static org.junit.Assert.assertNotNull;

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.xuefei.spring_pro.cdDemo.CDPlayConfig;
import com.xuefei.spring_pro.cdDemo.CompactDisc;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = CDPlayConfig.class)
public class CDPlayTest {
    
    @Autowired
    private CompactDisc cd;
    
    @Test
    public void cdShouldNotBeNull() {
        cd.play();
        assertNotNull(cd);
        
    }
}

  就上網了解了一下

  這種寫法是為了讓測試在Spring容器環境下執行。

  Spring的容器環境是啥呢?

    比如常見的 Service Dao Action , 這些個東西,都在Spring容器里,junit需要將他們拿到,並且使用來測試。

  注解說明:

    1)@RunWith:用於指定junit運行環境,是junit提供給其他框架測試環境接口擴展,為了便於使用spring的依賴注入,spring提供了org.springframework.test.context.junit4.SpringJUnit4ClassRunner作為Junit測試環境。

    2)@ContextConfiguration({"classes=Congfig.clsss",classpath:applicationContext.xml"}) 這里可以用classes來直接導入同包下寫的配置類。或者導入配置文件。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM