testplane icon indicating copy to clipboard operation
testplane copied to clipboard

Не работают тесты, если в пути есть скобки

Open shishkin17 opened this issue 5 years ago • 2 comments

В таком случае выводит нули: Total: 0 Passed: 0 Failed: 0 Skipped: 0 Retries: 0

Причем совершенно не важно, что написано в тесте - он просто не выполняется. Замечено на маке.

shishkin17 avatar Aug 29 '19 17:08 shishkin17

https://github.com/gemini-testing/hermione/issues/409#issuecomment-526128496

j0tunn avatar Aug 30 '19 07:08 j0tunn

Проблема в том, что если в пути есть скобки, то их нужно экранировать. Если этого не делать, то пакет fast-glob такой путь не найдет

Пример для воспроизведения (на файловой системе лежит файл 'tests(1)/example.hermione.js',):

const fg = require('fast-glob');

const result1 = await fg('tests(1)/example.hermione.js', {onlyFiles: false});      // получаем []
const result2 = await fg('tests\\(1\\)/example.hermione.js', {onlyFiles: false}); // получаем [ 'tests(1)/example.hermione.js' ]

Чтобы такого не происходило, нам нужно использовать метод escapePath

ps: нужно еще не забыть, что в сетах мы используем micromatch, который тоже не понимает скобки

sipayRT avatar Mar 15 '23 13:03 sipayRT