添加对应版本的包

testCompile('de.flapdoodle.embed:de.flapdoodle.embed.mongo:1.46.0')

在测试之前,它会根据你的操作系统去下载当前的mongodb,然后在宿主机上去跑它,可能第一次会比较慢 !

添加测试脚手架类

package com.example.springDemo;

import com.mongodb.DB;
import com.mongodb.MongoClient;
import de.flapdoodle.embed.mongo.MongodExecutable;
import de.flapdoodle.embed.mongo.MongodProcess;
import de.flapdoodle.embed.mongo.MongodStarter;
import de.flapdoodle.embed.mongo.config.MongodConfigBuilder;
import de.flapdoodle.embed.mongo.config.Net;
import de.flapdoodle.embed.mongo.distribution.Version;
import de.flapdoodle.embed.process.runtime.Network;
import org.junit.After;
import org.junit.Before; public class MongodbBaseTest {
private static final MongodStarter starter = MongodStarter.getDefaultInstance();
protected MongoClient mongo;
protected DB db;
private MongodExecutable mongodExecutable;
private MongodProcess mongod; @Before
public void setUp() throws Exception {
mongodExecutable = starter.prepare(new MongodConfigBuilder()
.version(Version.Main.PRODUCTION)
.net(new Net(12345, Network.localhostIsIPv6())).build());
mongod = mongodExecutable.start(); mongo = new MongoClient("localhost", 12345);
db = mongo.getDB("embedded-mongo");
} @After
public void tearDown() throws Exception {
mongod.stop();
mongodExecutable.stop();
}
}

添加测试DEMO类

package com.example.springDemo;

import com.mongodb.BasicDBObject;
import com.mongodb.BasicDBObjectBuilder;
import com.mongodb.DBCollection;
import com.mongodb.DBObject;
import org.junit.Before;
import org.junit.Test;
import static org.junit.Assert.assertThat;
import static org.hamcrest.CoreMatchers.is;
public class UserTest extends MongodbBaseTest {
private DBCollection users; @Override
@Before
public void setUp() throws Exception {
super.setUp();
users = db.getCollection("users");
} @Test
public void should_insert_and_get_user() {
final DBObject userDocument = new BasicDBObjectBuilder()
.add("name", "lind")
.get();
users.insert(userDocument); final DBObject userDocumentFromDb = users.findOne(new BasicDBObject("_id", userDocument.get("_id"))); assertThat(userDocumentFromDb.get("name"), is("lind"));
}
}

测试如果通过,就出现pass 1的绿色标志

感谢各位阅读!

再次提醒,在测试之前,它会根据你的操作系统去下载当前的mongodb,然后在宿主机上去跑它,可能第一次会比较慢 !

最新文章

  1. react-native 调用 TouchableOpacity (触摸透明) 时报了一个警告
  2. 四核exynos4412开发板使用网线上网注意事项
  3. AngularJS的Filter用法详解
  4. iOS开发 沙盒路径和使用
  5. https://github.com/oneuijs/You-Dont-Need-jQuery
  6. C++二叉查找树实现及转化为双向链表
  7. bash{} 方法总结
  8. 006.Compile方法
  9. PHP 学习笔记 (二)
  10. Django 探索(一) HelloWorld
  11. Qt信息隐藏(Q_D/Q_Q)介绍——从二进制兼容讲起
  12. ** poj Y2K Accounting Bug 2586
  13. oracle行转列函数
  14. Python爬虫从入门到放弃(十)之 关于深度优先和广度优先
  15. [js高手之路] 跟GhostWu一起封装一个字符串工具库-扩展camelize与dasherize方法(3)
  16. Flex中怎么给表格中的滚动条定位
  17. Linux基本指令
  18. JS中的进制转换
  19. css3整理--background-origin
  20. ClientAbortException: java.net.SocketException: 断开的管道

热门文章

  1. ArrayBlockingQueue简介
  2. POJ_1556_The Doors_判断线段相交+最短路
  3. BZOJ_2298_[HAOI2011]problem a_线段树
  4. linux学习之路(1)
  5. SM干货篇:你应该具备的提问技巧!
  6. matplotlib解决中文乱码
  7. Java动态代理之JDK实现和CGlib实现
  8. Ubuntu18.04(linux)安装MySQL
  9. hydra暴力破解ssh服务器密码
  10. STM32学习笔记(二):GPIO口工作原理