【发布时间】:2019-12-14 06:13:29
【问题描述】:
我正在使用nestjs 开发node.js 应用程序
我有一个名为LoggerService 的课程,如下所示
export class LoggerService {
private logger: Rollbar;
constructor() {
this.logger = this.setupLogger();
}
critical(...args: Array<string | Error | object | Date | any[]>) {
this.logger.error(...args);
}
private setupLogger(): Rollbar {
if (this.logger == null) {
this.logger = new Rollbar({
accessToken: 'token',
environment: 'dev',
captureUncaught: true,
captureUnhandledRejections: true,
});
}
return this.logger;
}
现在我正在使用下面的玩笑为这个类编写单元测试。
describe('LoggerService.log', () => {
let service: LoggerService;
beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
providers: [LoggerService],
}).compile();
service = module.get<LoggerService>(LoggerService);
});
it('critical', () => {
service.critical('error','message');
expect(???).toHaveBeenCalledWith('error', 'message')
})
);
我的问题是如何检查(预期)是否调用了logger.error,或者如何在此类中模拟Rollbar。
【问题讨论】:
标签: javascript unit-testing jestjs nestjs rollbar