Я пытаюсь создать единичный тест, чтобы проверить, что объект, созданный моим кодом, успешно отправлен в функцию обновления (не тестируя функцию обновления в настоящее время так, как это было бы быть интеграционным тестом).Объект с неизвестными значениями в sinon mock withArgs - sinon.match
То, что я пытаюсь сделать, это использовать Sinon издеваться, чтобы проверить, что вход метода обновления правильно:
var objectToUpdate = {
"_id": 55f019a32f55b4508b05a155, //mongodb _id assigned earlier in the code
etc...
}
var mock = sinon.mock(MyClass.prototype);
mock.expects("update").once().withArgs([objectToUpdate]);
otherClass.functionThatCallsUpdate(function(error, result){
(typeof error).should.equal.null;
mock.verify();
mock.restore();
done();
});
Проблема заключается в том, что код я тестирую это часть населения базы данных кода, поэтому я не знаю, что будет _ID объекта перед тем, как тест будет запущен, поскольку он создан ранее в этом процессе, поэтому часть теста withArgs()
не работает.
Можно ли указать частичный объект для withArgs()
в синоне, или есть другой подход, который я должен использовать?
Менее полезным (но лучше, чем ничего) вариантом было бы указать математическое ожидание размера массива, содержащего objectToUpdate
, но я тоже не могу найти способ сделать это.
Если я understtod вас правильно, вы должны дразнить '_id' объекта? –
Я издеваюсь над методом 'update'. Мне нужно пройти тест с любым значением '_id' – Carasel
Хорошо, и какая у вас ошибка? –