我正在尝试使用velocity和jasmine-unit在我的meteor应用程序的服务器端执行一些测试。
测试脚本如下所示:
(function () {
"use strict";
//////////////////////////////////////////////////////////////////////
// User test class
//
function UserTestingClass () {}
UserTestingClass.prototype = {
constructor: UserTestingClass,
createAdmin:
{
createCall: function(email, pass, fname, lname, photo, tel, saloon_id, userRole, userInfo)
{
Meteor.call('addUser', email, pass, fname, lname, photo, tel, saloon_id, userRole, userInfo, function(e, r)
{
return r;
});
}
}
};
//////////////////////////////////////////////////////////////////////
// User tests
//
describe("UserTestingClass", function ()
{
it("create an admin user", function ()
{
var userTest = new UserTestingClass();
expect(userTest.createAdmin
.createCall("asd@asd.asd", "asdasd", "john", "doe", "image", "0701111111", "ididididid", "admin", "info admin john"))
.not
.toBe(undefined);
});
});
})();
我的meteor app的服务器端代码:
addUser: function(email, pass, fname, lname, photo, tel, pv_id, role, info)
{
var id =
Accounts.createUser(
{
email: email,
password: pass,
profile:
{
firstname: fname,
lastname: lname,
photo: photo,
tel: tel,
other:
{
id: pv_id,
role: role,
info: info
}
}
});
return id;
}
我的问题是我没有获得已创建用户的id返回但始终未定义。我相信我需要有关如何在服务器端测试返回数据的帮助。
答案 0 :(得分:2)
查看我的教程https://doctorllama.wordpress.com/2014/08/03/creating-and-testing-meteor-applications-with-bdd-using-velocity-and-jasmine/它有点长,但只需搜索meteor.call,它将向您展示如何使用jasmine-unity测试服务器代码。 希望它有所帮助!