Spring整合Junit的配置


  • 导入Spring整合Junit的jar包,Junit必须在4.11版本以上

    <dependencies>
        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-testartifactId>
            <version>5.0.2.RELEASEversion>
        dependency>
        <dependency>
            <groupId>junitgroupId>
            <artifactId>junitartifactId>
            <version>4.13version>
            <scope>testscope>
        dependency>
    dependencies>
  • 使用Junit提供的注解把原有的main方法替换成spring提供的main方法@RunWith(SpringJUnit4ClassRunner.class)

  • 告知spring运行器,spring和ioc创建是基于xml配置还是注解配置,并且说明位置。@ContextConfiguration

    • 属性:location指定xml文件的位置,加上classpath,标识在类路径下;classes指定注解类所在的位置

package com.mypro.test;
?
import com.mypro.entity.Words;
import com.mypro.service.WordsService;
import com.mypro.service.impl.WordsServiceImpl;
import config.SpringConfiguration;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
?
import java.util.Date;
import java.util.List;
?
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = SpringConfiguration.class)
public class WordsServiceTest {
    // 完成以上步骤才可以自动注入
    @Autowired
    private WordsService wordsService;
?
    @Test
    public void testFindAll(){
        List all = wordsService.findAll();
        for (Words words : all) {
            System.out.println(words);
        }
    }
}
?