Sinon.JS命令行命令

时间:2019-01-15 04:36:45

标签: sinon

我正在尝试学习Sinon.JS。我已经使用npm安装了Sinon.JS。我在文档中找不到任何命令行命令。在sinonjs.org网站上,有这样的“文档”:

function once(fn) {
    var returnValue, called = false;
    return function () {
        if (!called) {
            called = true;
            returnValue = fn.apply(this, arguments);
        }
        return returnValue;
    };
}

it('calls the original function', function () {
    var callback = sinon.fake();
    var proxy = once(callback);

    proxy();

    assert(callback.called);
});

如何使用Sinon.JS 运行该测试?

1 个答案:

答案 0 :(得分:1)

Sinon是一个提供“用于JavaScript的独立测试间谍程序,存根和模拟程序”的库。

它“可与任何单元测试框架一起使用。”

关键思想是它是一个在测试框架内有效的库。

它将与JestJasmineMocha等任何主要的JavaScript测试框架一起使用。


例如,要使用SinonJest从问题中执行测试,请执行npm install --save-dev sinon添加Sinon,然后执行npm install --save-dev jest添加{{ 1}},然后使用以下代码添加测试文件(类似于Jest):

src/code.test.js

请注意,在这种情况下,最后一行的import * as sinon from 'sinon'; function once(fn) { var returnValue, called = false; return function () { if (!called) { called = true; returnValue = fn.apply(this, arguments); } return returnValue; }; } it('calls the original function', function () { var callback = sinon.fake(); var proxy = once(callback); proxy(); expect(callback.called).toBe(true); // SUCCESS }); 是使用assert的{​​{3}}断言来实现的。

然后运行Jest,它将在运行Jest使用 Sinon