如何测试YUI3的get()方法返回的值
How to test values returned by get() method of YUI3?
我想模拟这样一个对象:
var target = new Y.Mock(),
eventObject = {};
Y.Mock.expect(target, {
method: 'get',
args: ['actionId'],
returns: 'edit'
});
Y.Mock.expect(target, {
method: 'get',
args: ['container'],
returns: '<div></div>'
});
eventObject.target = target;
但是我得到一个错误:
Argument 0 of get() is incorrect.
Expected: container (string)
Actual: actionId (string)"
我怎样才能避免这种情况?
简要地看一下y.c mock代码,在我看来,您不能在同一个方法上使用相同的参数创建两个期望。后者将覆盖前者。
但是没关系,我们可以自己做一点嘲弄:
var mockedGet = function (args) {
if (args === 'container') {
return '<div></div>';
} else if (args === 'actionId') {
return 'edit';
} else {
YUITest.Assert.fail('Method get('+args+') should not have been called.');
}
// we could also verify call counts etc, using the mock object as 'this'
}
Y.Mock.expect(target, {
method: 'get',
args: [YUITest.Mock.Value.String], // accepts only one String
run: mockedGet // replaces returns
});
工作的例子。相关文章:
- 从Javascript方法返回全局变量
- Meteor方法在客户端返回null,在客户端运行的相同方法返回正确的值
- AngularJS错误:提供程序必须从$get工厂方法返回值
- 修复AngularJS错误:提供程序必须从$get工厂方法返回值
- 从 javascript 中的对象方法返回一个对象
- 为什么我的Mongoose findAll方法返回500错误.
- 角度方法返回未绘制的代码
- 解析查询查找方法返回对象而不是数组
- Jquery Ajax调用没有't点击操作方法/返回整个HTML页面
- ajax方法返回错误时如何打印输出
- Meteor 方法返回客户端和服务器上的不同对象
- 如何将异步方法返回的值发送到javascript中的另一个异步方法
- Javascript getDay方法返回错误的数字
- Coffeescription类中的方法返回函数而不是字符串
- 当使用Q/promises/异步函数时,如何将一个值从一个类方法返回到另一个类
- find()方法返回具有不需要的属性的对象
- 如何在JSF中将toDataURL方法返回的画布内容作为图像存储在磁盘上
- 从请求.js请求方法返回结果
- jQuery的.children()方法返回'undefined'
- Angularjs 控制器在服务方法返回之前从服务中分配变量