Javascript 如何使用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]; } 我的测试目标不是检查每个值,而是确保在传递键时返回正确的对

我想知道是否/如何使用Sinon存根嵌套在下面函数中的对象
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)