我想用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');
对吧?
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);
});
有什么建议吗?
答案 0 :(得分:0)
这些示例没有module.exports
,因为它们只是被叫不是必需的。要测试它,您需要它,因此需要module.exports
。