开玩笑的模拟实例属性

时间:2018-12-12 16:53:43

标签: unit-testing jestjs

我正在尝试用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();
    });
})

0 个答案:

没有答案