gemini-testing / testplane

Testplane (ex-hermione) browser test runner based on mocha and wdio
https://testplane.io
MIT License
687 stars 62 forks source link

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

Open shishkin17 opened 5 years ago

shishkin17 commented 5 years ago

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

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

j0tunn commented 5 years ago

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

sipayRT commented 1 year ago

Проблема в том, что если в пути есть скобки, то их нужно экранировать. Если этого не делать, то пакет 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, который тоже не понимает скобки