Подтвердить что ты не робот

Запуск одного тестового файла

Есть ли способ запустить ng test для одного файла, а не для всего набора тестов? В идеале, я хотел бы получить максимально быстрый цикл обратной связи, когда я редактирую файл, но karma выполняет весь набор при каждом сохранении, что немного медленно, когда вы создаете достаточно большой набор тестов.


Это отличается от того, как выполнить только одну тестовую спецификацию с angular-cli тем, что этот вопрос касается запуска отдельной спецификации. Это о запуске отдельного файла. Решение включает в себя те же характеристики Jasmine, но суть вопроса немного отличается.

4b9b3361

Ответ 1

Я обнаружил, что Jasmine позволяет префикс describe и it методов с помощью f (для фокуса?). Итак, fdescribe и fit. Если вы используете любой из них, карма будет проводить только соответствующие тесты. Итак, чтобы сфокусировать текущий файл, вы можете просто взять верхний уровень describe и изменить его на fdescribe. Работает для моих целей.

Ответ 2

Стоит отметить, что вы можете отключить определенный тест, не комментируя xdescribe и xit

xdescribe('Hello world', () => { 
  xit('says hello', () => { 
    expect(helloWorld())
        .toEqual('Hello world!');
  });
});

И как кто - то уже сказал, что если вы хотите, чтобы сосредоточиться на какой - то тест, то fdescribe и fit

fdescribe('Hello world', () => { 
  fit('says hello', () => { 
    expect(helloWorld())
        .toEqual('Hello world!');
  });
});

Ответ 3

Работает, если вы указали свой spec файл в качестве параметра.

Например:

нг тест foo.spec.ts

Надеюсь это поможет.