2014-09-28 2 views
1

Как говорится в названии, я хотел бы запустить один тест, а не всю спецификацию. Наивный способ, которым я пытался использовал случай, как это:Как запустить один тест из командной строки с помощью jasmine 2.0

describe("MyCase",function() { 
    it("has a test",function() { 
     expect(something).toBe(something); 
    } 

    it("has another test",function() { 
     expect(something_else).toBe(something_else); 
    } 
} 

Это сохраняется в файле с именем MyCase.spec.js (если это имеет значение). Я бы подумал, что можно было бы запустить только первый случай, используя следующее из командной строки:

jasmine-node --match="MyCase has a test" 

Но это apperantly не способ сделать это. Итак, как это делается?

Спасибо!

ответ

0

Возможно, это не совсем то, что вам нужно, но я хотел бы предложить использовать карма/карма-жасмин. Внутри кармы Жасмин «исправлен» и предоставляет дополнительные методы ddescribe и iit. Если вы переименуете один из своих наборов для ddescribe или одного из ваших спецификаций в iit (имеет преимущество перед ddescribe), будет выполнен только этот пакет или спецификация. Что касается вашего вопроса, вы можете переименовать свой первый spec в iit, и тогда будет выполняться только эта спецификация. Конечно, это полезно только при разработке спецификации.

Недостатком этого является то, что в конечном итоге можно легко получить лишь часть своих тестовых наборов, которые будут проверены в течение длительного времени. Поэтому не забудьте переименовать его в обычную версию (нет double d's, нет double i's).

5

Изменить с iit и запустить тест как обычно. Таким образом, будет выполнен только этот тест, и все остальные будут проигнорированы.

E.g.

iit('should run only this test', function() { 
    //expect(x).toBe(y); 
}); 

Того же произведение для описывает блок, просто переименуйте его в ddescribe

Также вы можете игнорировать один его тест пути переименования он к ыходу

И xdescribe также работает

+0

Это такое ужасное решение. Изменение тестов каждый раз, когда я хочу изолировать тест, так же утомительно, как и все мои тесты. Это плохая практика, на мой взгляд, – BentOnCoding

3

это может быть довольно старый канал, но это поможет кому-то, кто ищет конкретный тестовый тест с жасмином 2.0. Используйте «fdescribe» для запуска определенного набора и используйте «fit» для запуска конкретной спецификации. Это пропускает все другие тесты, кроме отмеченных.

Следите за тем, чтобы не делать fdescribe и соответствовать репо. Здесь f описывает «фокус».

Для более низких версий мы можем использовать ddescribe, iit, как описано в верхних ответах.

+0

Понадобилась время, чтобы найти это, спасибо. Раздражает .only() и «iit» не работает. – willem

Смежные вопросы