如何使用Sinon存根对象?

时间:2017-05-13 22:09:45

标签: 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];
}

我的测试目标不是检查每个值,而是确保在传递key时返回正确对应的值,并且不会以任何方式扩充该值。

认为测试此方法的最佳方法是让测试存根mappedValues然后检查getValueFromObj的返回值,但我不知道如何实际上存根对象。

1 个答案:

答案 0 :(得分:0)

我不认为将sinon用于此目的是个好主意。我想你可以简单地写一个这样的测试:

expect(getValueFromObj("a")).to.eql("aaa");

当这个期望(我使用chai期望写的那个)满意时,你确信一切正常。