Как запустить одиночный тест в ночном просмотре
Как мне выполнить только 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 или удалено, если вы хотите проверить его.