【问题标题】:How to stub an object using Sinon?如何使用 Sinon 存根对象?
【发布时间】:2017-05-13 22:09:45
【问题描述】:

我想知道是否/如何使用 Sinon 对嵌套在下面函数中的对象 mappedValues 进行存根:

function getValueFromObj(key) {
    var mappedValues = {
        "a": "aaa",
        "b": "bbb",
        "c": "ccc",
        "d": "ddd",
    };

    return mappedValues[key];
}

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

认为最好的测试方法是使用测试存根mappedValues,然后检查getValueFromObj 的返回值,但我不确定如何实际存根对象。

【问题讨论】:

  • 你可以使用 mappedValues.hasOwnProperty(key)

标签: javascript unit-testing testing sinon sinon-chai


【解决方案1】:

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

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

当这个期望(我用 chai expect 来写)得到满足时,你就确定一切正常。

【讨论】:

    猜你喜欢
    • 2019-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-13
    • 2015-08-18
    • 1970-01-01
    • 2018-10-15
    相关资源
    最近更新 更多