如何在NodeJS中模拟Rethinkdb进行单元测试我的DAO

时间:2017-04-05 11:21:39

标签: node.js sinon rethinkdb

模拟/存根Rethinkdb以便用NodeJS对DAO进行单元测试的最佳方法是什么?我已经尝试过使用Sinon和Proxyquire的一些方法,但是我被困在了连接对象上。

欢迎举例。

干杯,

木桥

1 个答案:

答案 0 :(得分:0)

如果您正在使用rethinkdbdash,则可以将mock-requirerethinkdb-mock一起使用以完全避免连接。另外,您可以使用JSON或普通对象初始化数据集。

require('mock-require')('rethinkdbdash', require('rethinkdb-mock'));

const rethinkdb = require('rethinkdbdash');
const r = rethinkdb();

// Load data from a JSON file.
r.load(__dirname, 'test_data.json');

// Set table data, erasing previous data in those tables.
r.init({
  users: [
    {id: 1, name: 'John'}
  ]
});