首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用mocha & chai和sinon TDD测试被调用或不调用的类?

使用mocha & chai和sinon进行TDD测试时,可以通过sinon库提供的Stub来验证被调用或未被调用的类。

首先,确保已经安装了mocha、chai和sinon,可以通过npm进行安装:

代码语言:txt
复制
npm install mocha chai sinon --save-dev

接下来,创建一个测试文件,比如test.js,并在其中引入所需的库和要测试的类:

代码语言:txt
复制
const chai = require('chai');
const expect = chai.expect;
const sinon = require('sinon');

const MyClass = require('./MyClass'); // 要测试的类

describe('MyClass', () => {
  it('should call someMethod', () => {
    const myObject = new MyClass();

    const someMethodStub = sinon.stub(myObject, 'someMethod');

    myObject.doSomething();

    expect(someMethodStub.calledOnce).to.be.true; // 验证方法被调用一次

    someMethodStub.restore(); // 恢复原始方法
  });

  it('should not call someMethod', () => {
    const myObject = new MyClass();

    const someMethodStub = sinon.stub(myObject, 'someMethod');

    myObject.doSomethingElse();

    expect(someMethodStub.called).to.be.false; // 验证方法未被调用

    someMethodStub.restore(); // 恢复原始方法
  });
});

上述代码中,通过sinon的stub方法创建了一个myObject的someMethod方法的Stub,然后通过测试的代码来触发相应的调用。最后,使用chai的expect来验证Stub的调用情况。

这样,当运行mocha进行测试时,就可以验证被调用或未被调用的类的方法。

关于mocha & chai和sinon的更多信息,可以参考以下链接:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的合辑

领券