testplane
testplane copied to clipboard
Не работают тесты, если в пути есть скобки
В таком случае выводит нули: Total: 0 Passed: 0 Failed: 0 Skipped: 0 Retries: 0
Причем совершенно не важно, что написано в тесте - он просто не выполняется. Замечено на маке.
https://github.com/gemini-testing/hermione/issues/409#issuecomment-526128496
Проблема в том, что если в пути есть скобки, то их нужно экранировать. Если этого не делать, то пакет 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, который тоже не понимает скобки