使用内存作为数据源进行环回testing

我正在尝试使用内存连接器作为数据源进行集成testing时。 但它似乎总是连接到mongodb数据源。

我做的一个主要的黑客攻击是将每个模型的数据源更改为内存。 但是一定有更好的方法来做到这一点。 我从一个吞咽任务运行我的testing。 我的roflmao模型 – 内存黑客:

var models = require('../server/model-config.json'); for (var key in models) { var model = loopback.getModel(key); loopback.configureModel(model, {dataSource: memory}); } } 

有没有办法改变应用程序的数据源? 或者我必须改变每个模型的数据源..?

一个这样做的方法是在testing期间改变环境variables,但到目前为止,没有运气..我正在做这个与吞吐任务预处理。

希望通过改变环境variables,它会使用datasources.integrationtesting.js,其中我有内存作为一个数据源。

我的一口气任务:

 return gulp.src('integration-tests/*.js') .pipe($.preprocess({context: {NODE_ENV: 'integrationtesting'}})) .pipe($.mocha()) 

我在用着:

  • 环回testingfunction
  • 一饮而尽,摩卡

欣赏任何评论..)

       

网上收集的解决方案 "使用内存作为数据源进行环回testing"

我认为你正在寻找的是特定于环境的configuration文件 。 基本上,您只需创build一个具有相同名称的数据源,但在不同的环境中实现不同的实现。 你的datasources.json文件将是默认的,但是如果NODE_ENV被设置为development ,将使用datasources.development.json

从那个链接的页面,你可能在datasources.json中有这个:

 { db: { connector: 'mongodb', database: 'myapp', user: 'myapp', password: 'secret' } } 

而这在datasources.development.json中:

 { db: { connector: 'memory' } }