我正在编写一个简单的应用程序来保存和查找位置。我正在使用猫鼬和茉莉节点。
用户 CRUD 测试按预期工作。但是,我单独创建了用户来测试不同的自定义验证。我还通过清除集合并重新加载所有用户来开始测试,以确保在启动保存/更新/等测试之前所有测试数据都是好的。
对于位置,我也在做同样的事情,但我有几十个位置,我想使用数组加载它们......并一路测试负载以确保它工作正常。
如果我只做一个位置,它工作正常。不止一个,他们失败了。
我知道我在这里遗漏了一些与异步相关的步骤,但是我要么在搜索错误的术语,要么现在离它太近了,无法看到我在这里犯的根本简单的错误。
版本:
- 猫鼬:3.6.16
- 茉莉花节点:1.11.0
- MongoDB:2.4.5
详细 测试...
it("creating location succeeds", function(done){
for(var locIndex in testLocations) {
locations.create(testLocations[locIndex], function(err, location){
// console.log says location is undefined
// unless there is only one location, then it works.
expect(err ).toBeNull();
expect(location.name ).toBe(testLocations[locIndex].name);
done();
});
}
});
...以及来自保存位置相关功能的单独文件的创建功能...
exports.create = function(location, cb){
var newLocation = new Location(location);
// console.log says we make it into here...
newLocation.save(function(err, newLocation){
// ...but we never make it in here, except when there's only one location
if (err) {
cb(err, null);
} else {
cb(null, newLocation);
}
});
};
...以及一些测试地点...
var testLocations = [
{
"name" : "A Great Noodle Place",
"street" : "1234 Elm Street",
"city" : "Springfield",
"phone" : "(123) 456-7890",
"website" : "n00dlesrus.com",
"district" : "Downtown"
},
{
"name" : "Perfect Pizza Palace",
"street" : "1234 Professor Ave",
"city" : "Springfield"
"phone" : "(321) 654-0987",
"website" : "cheesegalore.com",
"district" : "Uptown"
}
]
谢谢!