2019独角兽企业重金招聘Python工程师标准>>>
主要依赖:
<dependency>
<groupId>junitgroupId>
<artifactId>junitartifactId>
<version>4.12version>
dependency>
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-test-autoconfigureartifactId>
<version>1.4.5.RELEASEversion>
dependency>
<dependency>
<groupId>org.assertjgroupId>
<artifactId>assertj-coreartifactId>
<version>2.5.0version>
dependency>
在spring-boot项目中只需要如下依赖&#xff1a;
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-testartifactId>
dependency>
主要代码&#xff1a;
import com.demo.constants.types.DeleteStatus;
import com.demo.domain.entity.DemoEntity;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.orm.jpa.AutoConfigureTestDatabase;
import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
import org.springframework.boot.test.autoconfigure.orm.jpa.TestEntityManager;
import org.springframework.test.context.junit4.SpringRunner;import java.util.UUID;import static org.springframework.boot.autoconfigure.jdbc.EmbeddedDatabaseConnection.H2;/**
* Author: liyang
* Date: 03/09/2017 10:59 PM
* Version: 1.0
* Desc: repository层测试demo&#xff0c;使用内存数据库 h2 进行测试&#xff0c;不会产生脏数据而影响原始库。
* 推荐使用这种方式进行 repository 测试。
*/
&#64;RunWith(SpringRunner.class)
// 使用 spring-boot-test 提供的jpa测试框架
&#64;DataJpaTest
// 使用 spring-boot-test 提供的默认内存数据库 h2&#xff0c;不需要pom配置自己配置提供的 h2数据库
&#64;AutoConfigureTestDatabase(replace &#61; AutoConfigureTestDatabase.Replace.NONE, connection &#61; H2)
public class DemoRepositoryTest {&#64;Autowired
private TestEntityManager entityManager;&#64;Autowired
private DemoRepository demoRepository;&#64;Test
public void findDemoByName() throws Exception {// parameters
String name &#61; UUID.randomUUID().toString();// 模拟数据
DemoEntity demoEntity &#61; new DemoEntity(name);entityManager.persist(demoEntity);entityManager.flush();// 调用服务
DemoEntity demo &#61; demoRepository.findDemoByName(name);// 断言
Assert.assertTrue(demo.getName().equals(name));}
}
被测试方法&#xff1a;
DemoEntity findDemoByName(String name);
配置文件中不需要配置任何跟数据库有关的信息&#xff0c;jpa、hibernate等等都不需要配置。