测试单元pm2模块

时间:2018-04-03 21:50:30

标签: node.js unit-testing module pm2

我想用jest写一个pm2模块的测试单元。

我在this指南之后编写了一个模块但是..如果应用中没有module.exports,如何测试呢?

当然我试着写一个测试和这段代码:

'use strict';

const pm2Module = require('../app');

describe('Module PM2 env test', () => {
  test('First test', () => {
    console.log(pm2Module);
  });
});

打印一个空的json:{}

在我的模块上添加module.exports = pm2EnvModule;是否正确? 但是我必须嘲笑const pm2 = require('pm2');对吧?

here the implementation

const pm2EnvModule = (config) => {
  pm2.list((err, processList) => {
    if (err) {
      log.error(err, 'Error on listing pm2 process');
      return;
    }

    processList
      .filter(process => process.name !== 'pm2-env-module')
      .forEach((process) => {
        log.debug('Check .env on process: %s', process.name);
        // do something to test
      });
  });
};

pmx.initModule({}, (err, conf) => {
  if (err) {
    pino.fatal(err, 'Error on init module');
    process.exit(2);
  }
  pm2EnvModule(conf);
});

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

这些示例没有module.exports,因为它们只是被叫不是必需的。要测试它,您需要它,因此需要module.exports