0

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();
});
...

Mongoose スキーマに require ステートメントを追加し、コールバックを次のようにラップします。

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);
});
...

この動作の原因は何ですか?

4

0 に答える 0