Допустим, у вас есть код, который возвращает объект, содержащий предварительно запрограммированные функции, которые вы используете, как это:заглушка, которая возвращает заглушкой
someFunction(/* pass in data */)
.post(/* some data */) //Returned post function is pre-programmed to send a POST request to the right URL
.then(function() {
//do something
});
Как модульного тестирования это с помощью sinon.js?
Направить то, что а функция возвращает, вам необходимо использовать заглушки:
var mockService = sinon.stub();
mockService.returns(/* some return value */);
Но давайте скажем, я хочу, чтобы убедиться, что someFunction
был вызван с правильными аргументами, в дополнение к проверке возвращенного после функции был вызван с правильными аргументами. Я должен был бы окурок вернуть окурок:
mockService.returns({
post: sinon.stub()
});
Как я могу получить доступ mockService.post
, чтобы убедиться, что были приняты правильные аргументы, в этом случае?
Бонус Вопрос: Как называется этот шаблон дизайна (возврат функции с запрограммированным поведением)? Я видел его раньше, но не знаю его имени.
Что касается шаблона дизайна, возможно, вы думаете о [Curried Functions] (http://www.crockford.com/javascript/www_svendtofte_com/code/curried_javascript/index.html)? –