Я пишу простое приложение, которое сохраняет и ищет места. Я использую мангуст и жасминовый узел.Почему тест жалюзи-узел-мангуста не ожидается, как и ожидалось?
Пользователь CRUD тестирует работу как ожидалось. Тем не менее, я создал пользователей индивидуально для проверки различных пользовательских проверок. Я также запускаю тесты, очищая сбор и перезагружая всех пользователей, чтобы убедиться, что все тестовые данные хороши, прежде чем запускать тесты save/update/etc.
Для местоположений я делаю то же самое, но у меня есть несколько десятков мест, и я хотел загрузить их с помощью массива ... и проверить нагрузку по пути, чтобы быть уверенным, что он работает нормально.
Если у меня только Адрес, он отлично работает. Более одного, и они терпят неудачу.
Я знаю, что здесь отсутствует какой-то асинхронный шаг, но я либо искал неправильные термины, либо сейчас слишком близко к нему, чтобы увидеть принципиально простую ошибку, которую я здесь делаю.
Версии:
- мангуст: 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"
}
]
Спасибо!