I have a .env file with MYVAR=1 variable in it.
server.js
//...   
var app = express();  
//... 
if(app.get("env")==="development"){
  require('dotenv').config();
}
console.log("server------",process.env. MYVAR) //outputs 1
if(process.env.MYVAR==1){
   //do this  
}
if(process.env.MYVAR==2){
   //do this 
}
module.exports = app;
test.server.js
app = require('../server'),
supertest = require('supertest');
require('dotenv').config();
describe('Server TESTS', function () {
    let request = null
    let server = null
    before(function (done) {
        process.env.MYVAR = 2;
        server = app.listen()
        request = supertest.agent(server)
        done()
    });
    after(function (done) {
        console.log("client------",process.env. MYVAR) //outputs 2
        server.close(done)
    });
})
Problem:
After I run mocha test, my MYVAR does not reflect server.js file and it remains as 1. Even if I comment out require('dotenv').config(); in server.js
How do I overcome this, maybe my supertest agent structure is not correct. Please advice.
UPDATE:
Instead of server = app.listen(), server = require('../server').listen()
 worked as expected.
 
     
    