Как мне проверить index.js для nodejs с параметром env? - PullRequest
0 голосов
/ 08 февраля 2019

У меня есть следующий 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);
});
...