2013-06-19 1 views
2

Я разрабатываю приложение на основе TDD.Как использовать угловой сценарий Runner для запуска подмножества набора тестов?

Для серверной части все отлично, поскольку тестовый бегун Python отлично работает.

Для JS я начинаю использовать мокко, что тоже отлично.

Я написал свои первые тесты с кармой и угловым сценарием Runner, и это тоже здорово.

Проблема в том, что вскоре после начала использования Angular Scenario Runner в реальной жизни я закончил тестирование 60 e2s. Выполнение всех тестов занимает 1 минуту.

Теперь, когда я пишу новый тест, каждый раз, когда я хочу проверить тест, мне придется подождать до 60 секунд.

В Mocka есть эта опция работает только конкретный тест с .only http://visionmedia.github.io/mocha/#exclusive-tests


Это выглядит как Угловое Сценарий Runner кратко документированы, но как-то подражает Жасмин.


Глядя на угловой сценарий Код бегуна. Я мог найти только определение xit, чтобы пропустить тест.

Есть ли уловка, чтобы спросить «Угловой сценарий Runner» только для запуска подмножества теста?

Я применил пустой метод xdescribe, чтобы пропустить целый набор ... но это возможно в долгосрочной перспективе.

Большое спасибо!

ответ

5

Да, вы можете запустить подмножество тестов.

Используйте iit вместо it на тестах, которые вы хотели бы запустить, а остальные будут пропущены.

Пример:

describe('TestCtrl', function() { 

    var $scope; 

    iit('should have scope', function() { 
     expect($scope).toBeDefined(); 
    }); 

    it('should have scope', function() { 
     expect($scope).toBeDefined(); 
    }); 

    it('should have scope', function() { 
     expect($scope).toBeDefined(); 
    }); 

}); 

Это вызовет только первый тест для запуска, а остальные должны быть пропущены.

Как только Жасмин обнаруживает тест с iit, он пропустит все тесты с помощью it.

Это очень удобно, если вам нужно протестировать только один или два теста, над которыми вы работаете, когда вы определили целый набор тестов.

Это также работает, когда вы заменяете describe на ddescribe для запуска только блоков с ddescribe.

Как только вы удалите все звонки iit и ddescribe, все тесты снова будут запущены.

Надеюсь, что это поможет!

+0

Это очень помогает! Большое спасибо. Я видел iit в исходном коде, но я не стал более пристально смотреть, думая, что это просто псевдоним для xit ... и в документации Jasmine ничего не говорится о «iit». –

+0

Добро пожаловать, рад, что я мог бы помочь! – jvandemo