Можно ли использовать объект TestCafe .meta для пропуска тестов, запускаемых из cli

Я использую TestCafe для запуска интеграционных тестов. Я знаю, что у него есть функция test.skip, которая отлично подходит, когда я тестирую локально и хочу пропустить набор тестов, которые мне не нужны / я хочу запускать ... но мне было интересно, есть ли способ запустить < em> ВСЕ ТЕСТЫ, кроме --test-meta environmentSpecific=true и т. д.?

У нас есть несколько различных сред, и я ищу простой способ пропустить тесты через интерфейс командной строки, в зависимости от среды, на которую мы ориентируемся для сборки.


person Rob C    schedule 10.04.2019    source источник


Ответы (1)


Да, вы можете сделать это, используя программный способ запуска TestCafe. См. Пример:

const createTestCafe = require('testcafe');
let testcafe         = null;

createTestCafe('localhost', 1337, 1338)
    .then(tc => {
        testcafe     = tc;
        const runner = testcafe.createRunner();

        return runner
            .src('/tests')
            .filter((testName, fixtureName, fixturePath, testMeta, fixtureMeta) => {
                 return !testMeta.environmentSpecific;
             })
            .browsers(['chrome', 'safari'])
            .run();
    })
    .then(failedCount => {
        console.log('Tests failed: ' + failedCount);
        testcafe.close();
    });

См. Также: Указать метаданные теста

person mlosev    schedule 11.04.2019