我正在尝试编写一个测试来确认是否正在调用该函数。我的班级是这样的
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 方法,但测试一直失败。
有人可以建议这里有什么问题吗?
谢谢!