Articles of stub

如何在ES6中用sinon存储静态方法?

var MyClassStub = sinon.createStubInstance(MyClass); MyClassStub不包含静态方法。 如何解决这个问题?

模拟fs.readdir进行testing

我试图嘲笑函数fs.readdir为我的testing。 起初我试过使用sinon,因为这是一个非常好的框架,但是没有奏效。 stub(fs, 'readdir').yieldsTo('callback', { error: null, files: ['index.md', 'page1.md', 'page2.md'] }); 我的第二个尝试是用自我replace函数来模拟函数。 但它也不起作用。 beforeEach(function () { original = fs.readdir; fs.readdir = function (path, callback) { callback(null, ['/content/index.md', '/content/page1.md', '/content/page2.md']); }; }); afterEach(function () { fs.readdir = original; }); 有谁可以告诉我为什么两个都不行? 谢谢! 更新 – 这也不起作用: sandbox.stub(fs, 'readdir', function (path, callback) { callback(null, ['index.md', 'page1.md', 'page2.md']); }); […]

存根/模拟process.platform sinon

我正在使用process.platform并希望存根string值来伪造不同的操作系统。 (这个对象是生成在我的范围之外,我需要testing它可以采取不同的值) 是否有可能残留/伪造这个值? 我已经尝试了以下没有任何运气: stub = sinon.stub(process, "platform").returns("something") 我得到错误TypeError: Attempted to wrap string property platform as function 同样的事情发生,如果我尝试使用这样的模拟: mock = sinon.mock(process); mock.expects("platform").returns("something");

如何存根要求()/期望调用模块的“根”function?

考虑下面的茉莉花规格: describe("something.act()", function() { it("calls some function of my module", function() { var mod = require('my_module'); spyOn(mod, "someFunction"); something.act(); expect(mod.someFunction).toHaveBeenCalled(); }); }); 这工作得很好。 像这样的东西使它变成绿色: something.act = function() { require('my_module').someFunction(); }; 现在看看这个: describe("something.act()", function() { it("calls the 'root' function of my module", function() { var mod = require('my_module'); spyOn(mod); // jasmine needs a property name // […]

如何在node.js中存储process.env?

我想用“bar”存根process.env.FOO。 var sinon = require('sinon'); var stub = sinon.stub(process.env, 'FOO', 'bar'); 我很困惑。 我读了文件,但还是不明白。 sinonjs文档 sinonjs是一个例子,不sinonjs是好的。