天天看点

SpringBoot整合Junit进行单元测试

1.创建项目,编写pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.5.2.RELEASE</version>

	</parent>
	<groupId>per.czt</groupId>
	<artifactId>19-spring-boot-junit</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>

	<name>19-spring-boot-junit</name>
	<url>http://maven.apache.org</url>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	</properties>

	<dependencies>


		<!-- spring-boot启动器 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<!-- junit环境的jar包 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
		</dependency>
	</dependencies>
</project>

           

2.编写dao层,和service层和启动类

UserDaoImpl.class

package per.czt.dao;

import org.springframework.stereotype.Repository;

@Repository
public class UserDaoImpl {

	public void saveUser() {
		System.out.println("insert into user.");
	}
}

           

UserServiceImpl.class

package per.czt.service;


import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import per.czt.dao.UserDaoImpl;

@Service
public class UserServiceImpl {
	@Autowired
	private UserDaoImpl userDaoImpl;
	public void addUser() {
		userDaoImpl.saveUser();
	}

}

           

App.class

package per.czt;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * Hello world!
 *
 */
@SpringBootApplication
public class App 
{
    public static void main( String[] args )
    {
        SpringApplication.run(App.class, args);
    }
}

           

3.编写junit测试类

package per.czt.test;

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.SpringJUnit4ClassRunner;
/*
 * 
 * SpringBoot启动器
 * @RunWith:启动器
 * SpringJUnit4ClassRunner.class:让junit与springboot整合
 * @SpringBootTest:1.当前类为SpringBoot启动类2.加载SpringBoot的启动类,启动SpringBoot
 * 
 * junit与spring整合@Contextconfigutaion("class:applicationContext.xml")
 */

import per.czt.App;
import per.czt.service.UserServiceImpl;
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes= {App.class})
public class UserServiceTest {
	@Autowired
	private UserServiceImpl userServiceImpl;
	@Test
	public void testAddUser() {
		this.userServiceImpl.addUser();
	}
}
           

继续阅读