流星Tinytest loginWithPassword
问题描述:
我很困惑。所以我创建了一个名为my_package
的流星包,现在我想用Tinytest
进行测试。现在,我试图让一个简单的测试工作:测试,以确保一个管理员用户可以登录:流星Tinytest loginWithPassword
程序my_app /包/ my_package/package.js
Package.on_test(function (api) {
api.use("[email protected]");
api.use("tinytest");
api.use("test-helpers");
api.add_files("tests.js");
});
程序my_app /包/ my_package /测试.js文件
结果警报():
{
"error": {
"error": 403,
"reason": "User not found",
"message": "User not found [403]",
"errorType": "Meteor.Error"
},
"message": "[[object Object]]",
"errorType": "Meteor.Error"
}
但数据库包含我们正在测试的管理员用户!
所以我的问题是:为什么alert()报告“用户未找到”,当用户确实存在于数据库中?
答
当您运行测试时,会创建一个新的临时流星应用程序,该应用程序具有其自己的本地MongoDB数据库。
您可以通过设置环境变量MONGO_URL来定义现有的MongoDB服务器。但它会清除数据库的现有内容。
您应该创建一个管理员用户来设置您的测试代码。 –