我正在尝试用jest测试应用程序的模块,我遇到的问题是通常我使用jest.mock来模拟requiere或jest.spyOn来更改方法的行为,但是在这种情况下,我需要模拟一个私有实例属性(pubSubChannel),我不知道如何从测试中访问它。
/** @module rmqServices.js */
require('dotenv').config();
let pubSubChannel
function initPubSubMQ() {
pubSubChannel.something()
}
module.exports.initPubSubMQ = initPubSubMQ;
在测试中,我要检查函数是否已被调用
describe('Send PubSubMessage', () => {
test('test for initPubSubMQ', () => {
const payload = {
key: 'value',
checksum: 'checksum',
};
const stub1 = //mock/dummy method for pubSubChannel.something()
expect(stub1).toHaveBeenCalled();
});
})