Mocha: Предупреждение: не удалось найти тестовые файлы, соответствующие шаблону:

Созданный на 20 июн. 2017  ·  10Комментарии  ·  Источник: mochajs/mocha

Почему плагин не видит файлы, когда файлы на 100% существуют в моей папке test ?
Я хочу запустить тест только для определенных файлов.
Как мне это сделать с помощью mocha ?

Моя установка:

// test folder. Files are the same. Changed name for the sake of showing you an error
/test
    nock.js
    nock_test.js

// package.json
"scripts": { "test": "mocha" }

Ничего из этого не работает. Все выдают одну и ту же ошибку:

$ npm test nock
$ npm test nock.js
$ npm test nock_test
$ npm test nock_test.js

Ошибка:

Предупреждение: не удалось найти тестовые файлы, соответствующие шаблону: nock
Предупреждение: не удалось найти тестовые файлы, соответствующие шаблону: nock.js
Предупреждение: не удалось найти тестовые файлы, соответствующие шаблону: nock_test
Предупреждение: не удалось найти тестовые файлы, соответствующие шаблону: nock_test.js
Тестовые файлы не найдены
npm ERR! Тест не пройден. Подробнее см. Выше.

Как это может быть? Нет test files matching pattern ? Это даже не узор! Это в точности имя файла.
Как его запустить?

unconfirmed-bug

Самый полезный комментарий

Похоже, что мокко включает одинарные кавычки в сам узор. Мне удалось обойти это, используя экранированные двойные кавычки:

"test": "mocha --compilers js:babel-core/register -r ./test/setup.js \"./src/**/*.spec.js*\""

Все 10 Комментарий

Вы должны написать test/nock.js / test/test_nock.js вместо просто nock.js / test_nock.js . Сообщите нам, если это решит вашу проблему!

(Mocha поддерживает размещение ваших тестовых файлов в папках, отличных от test ; например, некоторые проекты помещают тестовые файлы в те же папки, что и соответствующие исходные файлы, и с тем же именем, за исключением использования .test.js или .spec.js вместо .js в конце имени тестового файла. Это компромисс между чистотой исходных каталогов и простотой ассоциации теста и исходного кода, но важно то, что Mocha поддерживает оба и, следовательно, победил. Чтобы предотвратить это, превратив lib/someModule.spec.js в test/lib/someModule.spec.js .)

В моем проекте:

  • Дерево:
    проект
    ------ сборка
    ------ node_modules
    ------ src
    -----------компоненты
    ------------------ A.js
    ------------------ A.spec.js
    ------тестовое задание
    ----------- setup.js
    ------ package.json
  • Тестовый сценарий:
    "test": "mocha --compilers js:babel-core/register -r ./test/setup.js './src/**/*.spec.js*'"
  • Зависимости:
    "devDependencies": {
    "babel-core": "^ 6.26.0",
    "babel-loader": "^ 7.1.2",
    "babel-preset-es2015": "^ 6.24.1",
    "babel-preset-react": "^ 6.24.1",
    "babel-preset-stage-1": "^ 6.24.1",
    "babel-preset-stage-2": "^ 6.24.1",
    "chai": "^ 4.1.2",
    "фермент": "^ 2.9.1",
    "html-webpack-plugin": "^ 2.30.1",
    "jsdom": "^ 11.2.0",
    "мокко": "^ 3.5.3",
    "react-addons-test-utils": "^ 15.6.0",
    "webpack": "^ 3.5.6",
    "webpack-dev-server": "^ 2.8.1"
    },
    "dependencies": {
    "реагировать": "^ 15.6.1",
    "react-dom": "^ 15.6.1"
    }

Когда я запускаю npm test :

Предупреждение: не удалось найти тестовые файлы, соответствующие шаблону: './src/ * / .spec.js *'

        Please, help me!

Похоже, что мокко включает одинарные кавычки в сам узор. Мне удалось обойти это, используя экранированные двойные кавычки:

"test": "mocha --compilers js:babel-core/register -r ./test/setup.js \"./src/**/*.spec.js*\""

Здравствуй ! У меня такая же проблема, но здесь с Circle CI 2.0 (Ubuntu 14.04)

Прекрасно работает на MacOSX и Ubuntu 16.04, как я могу решить эту ошибку с помощью среды Circle CI? Кажется, это трюк с Мокко ... Большое спасибо!

В моем термине:

$ eslint .
$ mocha "./src/migrations/index.test.js" --require babel-core/register
Warning: Could not find any test files matching pattern: ./src/migrations/index.test.js
No test files found
error Command failed with exit code 1.

Мой package.json:

...
"test-migrations": "mocha \"./src/migrations/index.test.js\" --require babel-core/register",
"test": "yarn run lint && yarn run test-migrations && mocha \"./src/index.test.js\" --require babel-core/register",
...

У меня похожая проблема :

mocha --opts "/c/my-project/mocha.opts" "/c/my-project/src/rest_test/**/*.tsx"

Не работает.
Однако это действительно так:

mocha --opts "/c/my-project/mocha.opts" "c:/my-project/src/rest_test/**/*.tsx"

(обратите внимание, что /c/ становится c:/ )
Путь к параметрам допустим с нотацией unix, но не путь к тестовым файлам.

@xurei - единственное, что я здесь видел, что могло быть настоящей ошибкой Mocha. Я попробую воспроизвести это.

@xurei Какую оболочку вы используете?

Если вы используете PowerShell, glob (который интерпретирует ваш путь, содержащий глобус, поскольку он заключен в двойные кавычки) ожидает, что ваши пути будут выглядеть как ваш второй пример; первый пример не является допустимым путем, AFAICT.

Если вы используете bash в Windows, то любой из них должен работать, по крайней мере, в моем ограниченном тестировании.

@boneskull Я использую Git BASH

В моем package.json есть это:
"test": "mocha server/spec/server-spec.js; RES=$?; kill %1; exit $RES"
И моя файловая структура:

server
    spec
        server-spec.js

И, конечно, сейчас я нахожусь в корневом каталоге, где находится каталог сервера, но когда я запускаю npm test я получаю эту ошибку:
Warning: Could not find any test files matching pattern: server/spec/server-spec.js;
Я использую ОС Windows. Я пробовал cmd.exe (Cygwin установлен и добавлен в переменные среды) & Git Bash , но результат тот же ... Есть идеи?

@MuhammadJamaluddin , вы _должны_ просто иметь:

"scripts": {
  "test": "mocha server/spec/server-spec.js"
}

В зависимости от того, какую версию мокко вы используете, вы можете увидеть что-то полезное в выводе отладки, используя cross-env и запустив его следующим образом:

$ npm install --save-dev cross-env

`` json
"scripts": {
"test": "cross-env DEBUG = * mocha server / spec / server-spec.js"
}

Or use a glob and just see what mocha finds... JIC you misspelled something...
```json
"scripts": {
  "test": "cross-env DEBUG=* mocha 'server/**/*.js'"
}
Была ли эта страница полезной?
0 / 5 - 0 рейтинги