我正在尝试用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);
});有什么建议吗?
发布于 2018-04-05 23:25:49
这些示例没有module.exports,因为它们只是被调用而不是必需的。要测试它,您需要它,因此需要一个module.exports。
https://stackoverflow.com/questions/49639660
复制相似问题