Очень просто, я хочу провести всего один тест с Jest.
Я поставил it.only
или, describe.only
но он все еще проводит много тестов. Я думаю, он запускает все тесты с момента моего последнего коммита, но у него не должно быть такого поведения с only
явно установленным флагом, верно?
Что вызывает такое поведение и как запустить одиночный тест?
javascript
unit-testing
jestjs
jpenna
источник
источник
Ответы:
fit
,fdescribe
иit.only
,describe.only
преследуя ту же цель, пропускать другие тесты, запускать только меня.Источник: https://github.com/facebook/jest/issues/698#issuecomment-177673281
Используйте
jest
механизм фильтрации, когда вы запускаете свои тесты, напримерВы можете фильтровать тесты с помощью
testname
илиfilename
, просто следуя инструкциям в терминалеНажмите
p
, затем введите имя файлаЗатем вы можете использовать
describe.only
и,it.only
который пропустит все другие тесты из отфильтрованного проверенного файла.источник
.only
работает только для тестов одного и того же файла?it.only
илиit.skip
для одного теста, содержащего синтаксическую ошибку, все тесты не пройдут. Конечно, код из файлов, исключенных по шаблону, выполняться не будет. imgur.com/z9FlQEZif.only
console.logs из компонента Carousel столько раз, сколько пропущенных / непропущенных тестов для этого компонента в ваших шаблонах часов.it.only
иdescribe.only
работают только с тем модулем, в котором они находятся. Если у вас возникли проблемы с фильтрацией тестов в нескольких файлах, вы можете использоватьjest -t name-of-spec
фильтрацию тестов, которые соответствуют имени спецификации (сопоставить с именем в описании или тесте).Источник: https://facebook.github.io/jest/docs/en/cli.html
Например, я сосредотачиваюсь на тесте, который пишу сейчас, следующим образом (с тестовым скриптом в
package.json
):npm test -- -t "test foo"
источник
describe
блоке). В этом случае вам следует сузить круг до точного названия теста, на котором вы хотите сосредоточиться.это вот так:
jest sometest.test.js -t "some expression to match a describe or a test"
он проверит все файлы с именем
sometest.test.js
и соответствием на основе опции -t, если вы хотите протестировать только конкретный файл, вы можете сделать это:источник
launch.json
конфигурации VSCode, который будет запускать тесты в конкретном тестовом примере: medium.com/better-programming/…Для меня это работает, если я использую 2 таких параметра:
yarn test --watch -f "src/...fullpath.../reducer.spec.js" -t "Name of the test"
Флаги:
--watch: is optional -f: will do filtering of your files, so if you have a lot of tests with the same name, specify the full path to the exact file -t: works with 'describe' name or 'it' name of your test
источник