在编写特性测试时,我遇到了触发方法调用的问题。实际上,我并没有在黑猩猩终端日志中出现错误,但是server.call行是突出显示故障的地方。我相信这可能与应用程序的文件夹结构有关(我已经松散地基于活版印刷机),或者调用的定义和触发顺序。当我将方法调用到我的main.js文件(在应用程序的根文件夹中)时,它可以正常工作。
hooks.js path: /app//黄瓜//support/hooks.js
(function(){
module.exports = function() {
this.Before(function() {
console.log("server calling");
server.call("fixtures/resetUsers"); //test stops here
});
};
})();fixtures.js /app/packages/Fixtures.js
(function(){
'use strict';
Meteor.methods({
"fixtures/resetUsers": function() {
Meteor.users.remove({});
}
});
})();package.js /app/packages/夹具/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');
});注意:最初我没有在packages文件夹中包装固定文件夹(那时它仍然不起作用),但是@Xolv.io遇到了@Xolv.io,也就是建议这样做的Chimp.js开发人员。
发布于 2016-02-12 00:03:02
对于新来的黑猩猩,你可以用:
server.execute(function() {
// code you put here will run on the server
});查看这个存储库以获得示例:https://github.com/xolvio/automated-testing-best-practices/
发布于 2016-02-28 04:00:40
在你的样本回购中,如果你定义了一个流星方法“某某物”,你可以调用为server.call(“某某物”)。如果您有一个标准的方法定义(甚至不是流星方法),比如something2=function(){},使用xolvio:后门,您可以使用server.execute('something2')。(用-ddp开关呼叫黑猩猩)
https://stackoverflow.com/questions/35303443
复制相似问题