В пакете. json У меня есть 2 команды сценария:
"test:unit": "jest --watch --testNamePattern='^(?!\\[functional\\]).+$'",
"test:functional": "jest --watch --testNamePattern='\\[functional\\]'",
копирование ^(?!\\[functional\\]).+$
в https://regex101.com/, оно не соответствует тестовой строке ниже в аргументе 1 из describe()
describe("[functional] live tests", () => {
При изменении на ([functional]).+$
шаблон соответствует. Я должен удалить пару \
на каждом конце, чтобы удалить экранирование для .json
файлов (я думаю).
Вот что я вижу при запуске npm run test:unit
в моем проекте root:
// the functional test runs (not desired)
$ npm run test:unit
functions/src/classes/__tests__/Functional.test.ts:30:47 - error TS2339: Property 'submit' does not exist on type 'Element'.
30 await emailForm.evaluate(form => form.submit());
~~~~~~
RUNS ...s/__tests__/Functional.test.ts
Test Suites: 1 failed, 1 skipped, 3 passed, 4 of 5 total
Tests: 2 skipped, 16 passed, 18 total
Snapshots: 0 total
Time: 8.965s, estimated 27s
Ran all test suites with tests matching "^(?!\[functional\]).+$".
Active Filters: test name /^(?!\[functional\]).+$/
Функциональные тесты не построены, что объясняет синтаксическую ошибку, здесь это не важно. Ключевой вопрос, почему тесты не были пропущены.
Я полагаю, что проблема связана с регулярным отрицательным соответствием. Положительное совпадение без !
соответствует только тестам, которые имеют или вложены в блок описания с [functional]
$ npm run test:functional
Test Suites: 1 failed, 4 skipped, 1 of 5 total
Active Filters: test name /\[functional\]/
Кто-нибудь знает, почему шаблон отрицательного регулярного выражения дает сбой во время npm run test:unit
?