Это невозможно с публичным API, который предоставляется CasperJS.
Сказав это, модуль тестера CasperJS управляет тестовыми случаями в queue. Таким образом, вы можете просто позвонить
test.queue.shift();
удалить следующий test.begin()
блок или
test.queue.splice(1, 1); // second block after the next one
// position -----^^
// amount of blocks -´
для удаления любого будущего блока. Обратите внимание, что это не сработает, если сами тестовые случаи не являются асинхронными. Вот почему я использовал комбинацию casper.start().then().run()
в доказательстве концепции.
Предупреждение: Это не документировано и может быть изменено в будущих версиях.
проверка концепции:
casper.test.begin("test 1", function(test){
casper.start().then(function(){
test.assertTrue(true);
}).run(function(){
test.done();
});
});
casper.test.begin("test 2", function(test){
casper.start().then(function(){
//test.queue.splice(0, 1);
test.queue.shift();
test.assertTrue(true);
}).run(function(){
test.done();
});
});
casper.test.begin("test 3 (invisible)", function(test){
casper.start().then(function(){
test.assertTrue(true);
}).run(function(){
test.done();
});
});
casper.test.begin("test 4 (visible)", function(test){
casper.start().then(function(){
test.assertTrue(true);
}).run(function(){
test.done();
});
});
Выход:
Test file: skip_begin_block.js
# test 1
PASS test 1 (NaN test)
PASS Subject is strictly true
# test 2
PASS test 2 (NaN test)
PASS Subject is strictly true
# test 4 (visible)
PASS test 4 (visible) (NaN test)
PASS Subject is strictly true
PASS 3 tests executed in 0.226s, 3 passed, 0 failed, 0 dubious, 0 skipped.
Вы имеете в виду пропуск следующего 'casper.test. начать блок с предыдущего? –
Да. Переход к следующему доступному блоку casper.test.begin – Vatsala
Помог ли мой ответ решить проблему? Есть ли проблемы с этим? –