Можно ли использовать объект TestCafe .meta, чтобы пропустить тесты, запущенные из - PullRequest
3 голосов
/ 10 апреля 2019

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

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

1 Ответ

4 голосов
/ 11 апреля 2019

Да, вы можете сделать это, используя программный способ запуска 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();
    });
...