機能テストの作成中にメソッド呼び出しをトリガーする際に問題が発生しています。チンパンジーのターミナル ログに実際にエラーが表示されることはありませんが、server.call 行でエラーが強調表示されます。これは、アプリのフォルダー構造 (これは大まかにLetterpressに基づいています)、または呼び出しが定義されてからトリガーされる順序に関連している可能性があると思います。メソッド呼び出しを main.js ファイル (アプリのルート フォルダー内) に移動すると、問題なく動作します。
hooks.jsパス: /app/tests/cucumber/features/support/hooks.js
(function(){
module.exports = function() {
this.Before(function() {
console.log("server calling");
server.call("fixtures/resetUsers"); //test stops here
});
};
})();
フィクスチャ.js /app/packages/fixtures/fixtures.js
(function(){
'use strict';
Meteor.methods({
"fixtures/resetUsers": function() {
Meteor.users.remove({});
}
});
})();
package.js /app/packages/fixtures/packages.js
Package.describe({
name: 'forum:fixtures',
version: '0.0.1',
summary: '',
debugOnly: true
});
Package.onUse(function(api) {
api.versionsFrom('1.2.1');
api.use('ecmascript');
api.addFiles('fixtures.js', 'server');
});
注: 私はもともと、パッケージ フォルダーにラップされたフィクスチャ フォルダーを持っていませんでした (そのときはまだ機能しませんでした) が、そうすることを勧めた Chimp.js の開発者である @Xolv.io によるこの投稿に出会いました。