This is hacky.

At minimum, you should extract this into a helper function that can be used in all tests. The config module must be deleted before you call require too, as it may have been already loaded from other test code

```js
function givenConfigFromArgv() {
  tempArgv = process.argv;
  process.argv = ['node', 'inspector.js'].concat(Array.prototype.slice.call(arguments));
  delete require.cache[CONFIGJS_PATH];
  config = require(CONFIGJS_PATH);
  delete require.cache[CONFIGJS_PATH];
  process.argv = tempArgv;
}
```

Even better solution would be to modify config.js to provide a function to parse the configuration.

```js
function load(argv) {
  // load config from argv
}

module.exports = load(process.argv);
Object.defineProperty(module.exports, 'load', {
  enumerable: false
  value: load
});
```

Ideally the config module should export the loading function only, the configuration should be parsed in one place in the program and the config object should be injected via constructor argument instead of being require()d.