Ответ 1
По умолчанию мокка включает ./test/*.js
. Так что, если это где ваши тесты живут, просто запустить mocha
- это все, что вам нужно.
Если у вас есть тесты в test/unit
, вы можете запустить mocha ./test/unit/*.js
.
В настоящее время я использую Nitrous, что не имеет значения, но мне нужно было установить мокко, поэтому я набрал:
npm install - g mocha.
Все установлено, и когда я пытаюсь запустить mocha в моей командной строке, я получаю следующую ошибку:
/home/action/.parts/lib/node_modules/мокко/бен/_mocha: 454
if (! files.length) throw new Error ( "не удается разрешить путь (или шаблон)"Ошибка: невозможно разрешить путь (или шаблон) 'test/unit'
на lookupFiles (/home/action/.parts/lib/ node_modules/mocha/bin/_mocha:454:32)
на runAgain (/home/action/.parts/lib/node_modules/mocha/bin/_mocha:305:24)
в Array.forEach(родной)
в объекте. (/home/action/.parts/lib/node_modules/mocha/bin/_mocha:304:6)
на Module._compile (module.js: 456: 26)
в Object.Module._extensions..js(module.js: 474: 10)
на Module.load(module.js: 356: 32)
в Function.Module._load (module.js: 312: 12)
в Function.Module.runMain(module.js: 497: 10)
при запуске (node.js: 119: 16)
при node.js: 902: 3
Кто-нибудь знает, как это решить?
По умолчанию мокка включает ./test/*.js
. Так что, если это где ваши тесты живут, просто запустить mocha
- это все, что вам нужно.
Если у вас есть тесты в test/unit
, вы можете запустить mocha ./test/unit/*.js
.
Ошибка, которую вы получаете, согласуется с отсутствием файла с именем test/unit
и делает следующее:
$ mocha test/unit
Убедитесь, что файл существует. (На самом деле, без расширения .js
, я ожидал бы каталог, а не файл.) Убедитесь, что вы находитесь в правильном месте при выдаче вашей команды.
Для тех, кто получает эту ошибку при попытке запуска:
> npm test
Убедитесь, что ваш файл package.json содержит тест script в формате:
<project-root>/<custom-path-to-test>/*.js
Например:
{
"name": "Project Name",
...
"scripts": {
"test": "mocha ./node/test/*.js"
}
...
}
Для тех, у кого установлен mocha, и makefile вот так:
test:
@./node_modules/.bin/mocha -u tdd
.PHONY: test
но получив эту ошибку:
Error: cannot resolve path (or pattern) 'test'
вам нужно добавить папку "test" в папку проекта. И ваши тестовые файлы в этой тестовой папке
E.G. /home/you/nodejs/chapter3 ├── lib ├── makefile ├── node_modules ├── package.json └── test ├── db.test.js
npm install -g mocha
npm install mocha --save-dev
напиши свой тест: test.js
добавь скрипт ниже в свой json файл пакета
"scripts": {
"api:test": "node_modules/.bin/mocha --timeout 10000 --recursive test/"
},
перейдите в вашу тестовую директорию: npm run api:test
Просто переместите все тесты в папку test
, если вы ее не создали.
а в файле package.json просто введите 'mocha'
"scripts":{
"test": "mocha"
},
и запустите
npm test
в терминале.
Если вы запустите npm test
, он выполнит файлы *.js
только в тестовом каталоге, а не в подкаталогах.
Если вы также хотите выполнить тестовые файлы *.js
внутри подкаталогов тестовой папки.
Выполните следующие действия:
--recursive