一般项目测试类和SpringBoot项目的测试类

 目录

 1.SpringBoot项目的测试

  1.方式一

  2.方式二

 2.一般项目的测试

 

 

 1.SpringBoot项目的测试

1.方式一

package soundsystem;

import static org.junit.Assert.*;

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;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes=CDPlayerConfig.class)
public class CDPlayerTest {

  @Autowired
  private CompactDisc cd;

  @Test
  public void cdShouldNotBeNull() {
    assertNotNull(cd);
  }

}

CDPlayerTest使用了Spring的SpringJUnit4ClassRunner,以便在测试开始的时候自动创建Spring的应用上下文。

注解@ContextConfiguration会告诉它需要在CDPlayerConfig中加载配置。

因为CDPlayerConfig类中包含了@ComponentScan,因此最终的应用上下文中应该包含CompactDiscbean。

 

2.方式二

 

    <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

 

package com.baizhi.cmfz;


import com.baizhi.cmfz.dao.BannerDao;
import com.baizhi.cmfz.entiy.Banner;
import com.baizhi.cmfz.service.BannerService;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import java.util.Date;
import java.util.List;
import java.util.Map;

@RunWith(SpringRunner.class)
@SpringBootTest
public class BannerTest {


    @Autowired
    private BannerDao dao;
    @Autowired
    private BannerService service;


    @Test
    public void test1(){
        List<Banner> list = dao.selectAllBanner(1,10,null);
        for (Banner banner : list) {
            System.out.println(banner);
        }
    }

}

其中类SpringRunner继承了了SpringJUnit4ClassRunner

 

 2.一般项目的测试

1.所有的测试相关jar包 作用范围为 test

<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-test</artifactId>
  <version>${spring.version}</version>
  <scope>test</scope>
</dependency>

  <!--测试-->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
      <scope>test</scope>
    </dependency>

2.

在src/test/java 下面创建测试类

  1. 添加注解 加载测试环境

  2. 添加注解 加载工厂

  3. 在测试类中 使用@Test写测试方法 可以使用自动装配

import com.baizhi.dao.UserDao;
import com.baizhi.entity.User;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runner.Runner;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import java.util.List;

/**
 * @RunWith 加载测试环境  SpringJUnit4ClassRunner Spring和JUnit测试集成的jar包
 * @ContextConfiguration(value = "classpath:spring.xml") 加载Spring工厂 参数为配置文件的地址
 * ctrl+H  查看当前类相关的子类
 */
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(value = "classpath:spring.xml")
public class DemoTest {
    @Autowired
    private UserDao userDao;

    /**
     * @Test 单元测试注解  每个方法都可以独立运行
     */
    @Test
    public void test1(){
        List<User> users = userDao.selectAll();
        for (User user : users) {
            System.out.println(user);
        }
    }

    @Test
    public void test2(){

    }
}

如果使用了JUnit测试 那么是可以让maven帮我们测试的

 

posted @ 2019-12-22 18:30  从来没有平凡的时刻  阅读(2197)  评论(0编辑  收藏  举报