Как запустить одиночный тест в ночном просмотре

Как мне выполнить только Test 3 из следующих тестов?

module.exports = {
  'Test 1':function(){},
  'Test 2':function(){}
  'Test 3':function(){}
}

Ответы

Ответ 1

Для запуска указанного тестового теста был добавлен новый параметр --testcase.

nightwatch.js --test tests\demo.js --testcase "Test 1"

Это новая функция, начиная с версии v0.6.0

https://github.com/beatfactor/nightwatch/releases/tag/v0.6.0

Ответ 2

Вы должны использовать определенные теги перед функцией и разделять все функции в разных файлах в каталоге tests, а затем вызывать команду с аргументом --tag. Смотрите страницу wiki nightwatch tags и посмотрите этот пример:

// --- file1.js ---
module.exports = {
    tags: ['login'],
    'Test 1':function(){
        //TODO test 1
    }
};

// --- file2.js ---
module.exports = {
    tags: ['special', 'createUser'],
    'Test 2':function(){
        //TODO test 2
    },
};

// --- file3.js ---
module.exports = {
    tags: ['logoff', 'special'],
    'Test 3':function(){
        //TODO test 3
    },
}

Если вы запустите:

nightwatch.js --tag login

выполняется только тест 1, однако если вы запустите:

nightwatch.js --tag special

Тест 2 и Тест 3 будут выполнены.

Вы можете указать более одного тега

nightwatch.js --tag tag1 --tag tag2

Отдельная каждая тестовая функция является обязательной, поскольку Nightwatch обрабатывается файловым файлом каждого файла. См. Код Github.

PD: Если файл имеет синтаксические ошибки, возможно, что тест не выполняется или тест не найден

Ответ 3

Флаг --testcase может использоваться с версии 0.6 для запуска одного теста из командной строки, например

nightwatch.js --test tests\demo.js --testcase "Test 1"

Это можно сделать с помощью тестовых групп или тестовых тегов. Вы также можете выполнить один тест с --test флага --test, например

nightwatch.js --test tests\demo.js

Ответ 4

вы можете сделать что-то вроде:

node nightwatch.js -e chrome --test tests/login_test --testcase tc_001

Ответ 5

Другим возможным способом сделать это было бы использование следующего на каждом тестовом примере, который вы хотите пропустить:

'@disabled': true,

Это может быть просто установлено на false или удалено, если вы хотите проверить его.