Javascript 如何使用Sinon存根对象?
我想知道是否/如何使用Sinon存根嵌套在下面函数中的对象Javascript 如何使用Sinon存根对象?,javascript,unit-testing,testing,sinon,sinon-chai,Javascript,Unit Testing,Testing,Sinon,Sinon Chai,我想知道是否/如何使用Sinon存根嵌套在下面函数中的对象mappedValues: function getValueFromObj(key) { var mappedValues = { "a": "aaa", "b": "bbb", "c": "ccc", "d": "ddd", }; return mappedValues[key]; } 我的测试目标不是检查每个值,而是确保在传递键时返回正确的对
mappedValues
:
function getValueFromObj(key) {
var mappedValues = {
"a": "aaa",
"b": "bbb",
"c": "ccc",
"d": "ddd",
};
return mappedValues[key];
}
我的测试目标不是检查每个值,而是确保在传递键时返回正确的对应值,并且该值不会以任何方式增加
我认为最好的测试方法是让测试存根mappedValues
,然后检查getValueFromObj
的返回值,但我不确定如何实际存根该对象。我认为为此使用sinon不是一个好主意。我认为您可以简单地编写如下测试:
expect(getValueFromObj("a")).to.eql("aaa");
当这个期望(我使用chai expect编写)得到满足时,您就可以确定所有操作都正确无误。您可以使用mappedValues.hasOwnProperty(key)