节点,使用sinon进行单元测试和模拟

阿吉玛杰玛

因此,我正在使用Chai,rewire,sinon和sinon-chai的测试套件来测试某些节点javascript。这是我第一次尝试进行设置,因此可以使用一些指针。我要测试的功能如下所示:

UserRoles.get = function(ccUrl, namespace, environment, ccToken, authPath) {
    var crowdControl = new CrowdControl(ccUrl, namespace, environment, ccToken, authPath);
    return q.Promise(function(resolve, reject) {
        crowdControl.get().then(resolve).fail(reject).done();
    });
};

在导出为UserRoles的文档中。因此,我的初始设置工作正常,在遇到麻烦时正在嘲笑以测试此功能。我正在尝试模拟新的CrowdContol部分,因此我的尝试看起来像这样:https ://jsfiddle.net/d5dczyuk/

所以我正在尝试

testHelpers.sinon.stub(CrowdControl, "UserRoles");

拦截和存根

var CrowdControl = require('./crowdcontrol');

然后就跑

userRoles.get;

console.log(CrowdControl);

而且似乎未调用存根(它记录它是存根,但尚未被调用)。我也希望也需要对一下论文的pullControl.get(),但是我试图首先让这个简单的部分开始工作。不知道我需要做些什么来使它在这里工作。这是我第一次在节点中进行单元测试,我在角度上做了很多工作,可以“模拟” CrowdControl,但是我不确定它如何在节点中工作。

只是为了澄清一下,我只是检查是否将通过传入的var来调用CrowControl,我是否应该将其存根?但是我也想嘲笑一下crowdControl,这样我就可以强制get得到什么。

编辑:这是我的第二次尝试:https : //jsfiddle.net/5m5jwk5q/

江户

我喜欢使用proxyquire进行这种测试。使用proxyquire,您可以从要测试的模块中排除需要的依赖项。因此,根据您的情况,您可以执行以下操作:

var crowdControlSpy = sinon.spy();

// Makes sure that when ./user-roles tries to require ./crowdcontrol
// our controlled spy is passed, instead of the actual module.
var UserRoles = proxyquire('./user-roles', {
    './crowdcontrol': crowdControlSpy
});

UserRoles.get(...);
expect(crowdControlSpy).to.have.been.called;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用sinon框架进行单元测试

来自分类Dev

使用sinon框架进行单元测试

来自分类Dev

使用$ httpbackend模拟和打字稿进行单元测试

来自分类Dev

努力进行单元测试和模拟

来自分类Dev

我如何模拟UserManager和RoleManager进行单元测试

来自分类Dev

使用 javascript 的 Mocha 和 Sinon 单元测试问题

来自分类Dev

在使用Moq和AutoFixture进行单元测试API时模拟HttpResponseMessage

来自分类Dev

在PHPUnit中使用模拟和反射进行单元测试

来自分类Dev

使用Oil Extension进行单元测试和模拟robotlegs服务呼叫

来自分类Dev

如何用sinon模拟hapi.js答复进行单元测试

来自分类Dev

使用moq模拟HttpContext进行单元测试

来自分类Dev

使用XCTAssertThrows模拟进行Swift单元测试

来自分类Dev

使用模拟库对Django CreateView进行单元测试

来自分类Dev

使用 jasmine 进行单元测试时模拟全局对象

来自分类Dev

如何使用Mockito对图节点进行单元测试?

来自分类Dev

使用模拟和修补外部模块的Python单元测试

来自分类Dev

模拟__init __()进行单元测试

来自分类Dev

如何模拟RedBean进行单元测试

来自分类Dev

模拟单例进行单元测试

来自分类Dev

模拟HttpRequestException进行单元测试

来自分类Dev

模拟Googleads进行单元测试

来自分类Dev

模拟__init __()进行单元测试

来自分类Dev

模拟HttpRequestException进行单元测试

来自分类Dev

Grails单元测试和模拟addTo

来自分类Dev

单元测试和太多模拟

来自分类Dev

单元测试和太多模拟

来自分类Dev

Grails单元测试和模拟addTo

来自分类Dev

如何使用模拟框架模拟龙卷风协程函数进行单元测试?

来自分类Dev

如何对使用Scanner和InputStream的方法进行单元测试?

Related 相关文章

热门标签

归档