无法在Cucumber-JS Step中删除mongoose集合

时间:2015-06-22 10:41:19

标签: javascript node.js mongodb mongoose cucumberjs

我使用Cucumber-JS编写一些BDD功能,使用Mongoose为每个场景重置数据库。

我正在设置后台任务,为它生成步骤并将callback.pending()更改为传递的callback()。

Feature: x
  Background: Clear person collection
    Given that I have an empty person collection
...

和我的步骤代码:

...
this.Given(/^that I have an empty person collection$/, function (callback) {
    callback();
});
...

我将一个require语句添加到我的mongoose模式中,然后将回调包装在:

var Product = require("../models/product);
...
this.Given(/^that I have an empty person collection$/, function (callback) {
    Product.remove(function(err){
        callback();
    });
});
...

这是product.js文件

var mongoose = require('mongoose');
var Schema = mongoose.Schema;

var ProductSchema = new Schema({
    name: String,
    price: String,
    description: String
});

module.exports = mongoose.model('Product', ProductSchema);

当我运行cucumber-js时,它就会终止。 当我返回并删除删除功能时,它再次正常运行。

我甚至试过像这样运行它:

...
this.Given(/^that I have an empty person collection$/, function (callback) {
    Product.remove().exec(callback);
});
...

任何想法是什么导致了这种行为?

0 个答案:

没有答案