У меня есть следующий index.js для моего узла js.Когда я запускаю свое покрытие, оно говорит мне, что для этой строки еще не выбран путь: if(enableCompression) {
.
Мой .env
устанавливает process.env.ENABLE_COMPRESSION = 'true'
по умолчанию.
Как сделатьЯ проверяю этот путь?Я попытался установить process.env.ENABLE_COMPRESSION = 'false'
в моем тестовом примере, но он не перезапускает index.js снова, так как сервер уже запущен.
Как мне это сделать?Я использую sinon для моего модульного теста.
index.js:
require('dotenv').config({ path: require('find-config')('.env') });
const PORT = process.env.PORT;
const ENABLE_COMPRESSION = process.env.ENABLE_COMPRESSION;
let express = require('express');
let compression = require('compression');
//logging
let log4js = require('log4js');
log4js.configure('./config/log4js.json');
//Please do not remove this line, since CLI uses this line as guidance to import new controllers
let app = express();
let enableCompression = ENABLE_COMPRESSION === "true";
if(enableCompression) {
app.use(compression());
}
app.use(log4js.connectLogger(log4js.getLogger("app"), { level: 'auto' }));
let log = log4js.getLogger("api-app");
//importing route
let routes = require('./api/rest/apiRest');
//register the route
routes(app);
//reached here throw error 404, means no routes to handle inc. request
app.use((req, res, next) => {
const error = new Error('Not found');
error.status = 404;
next(error);
});
// catch errors
app.use((error, req, res, next) => {
log.error("ERROR - " + req.url + " - " + error.message);
res.status(error.status || 500);
res.json({
error: {
message: error.message
}
});
});
//start application
module.exports = app.listen(PORT, () => {
log.info('API server started on: ' + PORT);
});