诗浓间谍无法窥探原型功能

时间:2021-06-24 21:52:07

标签: node.js chai sinon sinon-chai

我正在尝试编写一个测试来确认是否正在调用该函数。我的班级是这样的

const MyLogger = require('my-logging').Logger;

function MyDriver(opts) {
    // some code here
}

MyDriver.prototype.log = function (message) {
    // some code here
     myLogger = new MyLogger();
     myLogger.send();
}

我正在尝试编写一个测试来检查是否正在调用 send 上的 MyLogger 函数。

我的测试是这样的:

const MyDriver = require('mydriver');
const MyLogger = require('my-logging').Logger;
const { spy } = require('sinon');
const { expect } = require('chai');

describe('MyDriver', () => {
    let myLoggerSpy;
    before('prepare driver', () => {
        driver = new MyDriver();

        // definition of send method is via prototype, like: `Logger.prototype.send = function(context, callback)...` 
        myLoggerSpy = spy(MyLogger.prototype, 'send');
    });
    it('test driver', () => {
        driver.log(level, message, meta);

        expect(myLoggerSpy.called).to.equal(true);
    });

我对其进行了测试,可以看到调用了 send 方法,但测试一直失败。

有人可以建议这里有什么问题吗?

谢谢!

0 个答案:

没有答案