[mocha + mocha-parallel-test] - [API] тесты не используют аргументы из CLI - PullRequest
0 голосов
/ 29 августа 2018

Попытка распараллелить наши API-тесты с помощью mocha-parallel-tests. В нашей тестовой среде у нас есть файл конфигурации, который генерирует конфигурацию относительно отправленных флагов (в process.argv)

              /config.js/
const argv = require("minimist")(process.argv)    
const env = argv.env || "qa";
export = {
    env: envData.env[env] as Env,
    envUsed: env,
    build: argv.build || "",
    launchName: argv.launchName || "buildName",
    loggerLevel: argv.loggerLevel || "TRACE",
    }

Бегун настроен в основном файле:

           /main.js/
const config = require('./config.js')
const Mocha = require('mocha-parallel-tests').default;
    const suites = {
    hcs_smoke: [
       "tests/file1.js",
       "tests/file2.js",
       "tests/file3.js",
       "tests/file4.js",
       ],
    }

const mochaMain = new Mocha({
    timeout: config.timeout,
    reporter: 'mocha-multi-reporters',
    reporterOptions: reporterConfig[config.mode],
    grep: config.grep,
});

// filter test cases
const pathRegExp = new RegExp(config.testTag, "i");
mochaMain.files = suites[config.suite].filter(path => path.match(pathRegExp)).map(path => "./bin/" + path);
if (mochaMain.files <= 0) {
    console.error(`Failed to found tests by pattern ${pathRegExp}`);
    process.exit(1);
}
 const runner = mochaMain.run();

Кроме того, наши тесты используют файл конфигурации для запуска через правильный env. Команда для запуска:

node main.js --suite="smoke" --env="dev"

Проблема в том, что тесты всегда выполняются через QA (по умолчанию в файле конфигурации), а не в команде.

Как я могу запустить тесты через другие envs?

...