0
假设你有一个返回包含预编程功能的目标代码存根,您可以用这样的:返回存根
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
验证正确的参数传递,在这种情况下?
Bonus问题:此设计模式的名称是什么(返回具有预编程行为的功能)?我以前见过它,但不知道它的名字。
关于设计模式,也许你正在考虑[Curried Functions](http://www.crockford.com/javascript/www_svendtofte_com/code/curried_javascript/index.html)? – 2015-02-24 20:30:20