Когда я запускаю свои ava-тесты с помощью команды:
npm test
Я хочу сделать ava
для ввода в папку, которая используется для томов докера для доставленного проекта docker-compose.yml
, который я используюэто порождает среду разработки с необходимыми сервисами для разработки.
В моем случае я создал сервер openfire xmpp для пользовательского клиента xmpp:
version: '3'
services:
openfire:
build:
context: submodules/docker-openfire
dockerfile: submodules/docker-openfire/Dockerfile
image: pcmagas/openfire:4.2.3-ubuntu
ports:
- "9090:9090"
- "5222:5222"
- "7777:7777"
- "7070:7070"
- "7443:7443"
volumes:
- "./volumes/openfire:/var/lib/openfire"
И я настроил выполнение тестав моем package.json
как:
"scripts": {
"test": "ava"
},
Но когда я запускаю npm test
, я получаю ошибку:
> custom_xmpp@1.0.0 test /home/pcmagas/Kwdikas/master_thesis/custom_xmpp
> ava
glob error { [Error: EACCES: permission denied, scandir '/home/pcmagas/Kwdikas/master_thesis/custom_xmpp/volumes/openfire']
errno: -13,
code: 'EACCES',
syscall: 'scandir',
path:
'/home/pcmagas/Kwdikas/master_thesis/custom_xmpp/volumes/openfire' }
Error: EACCES: permission denied, scandir '/home/pcmagas/Kwdikas/master_thesis/custom_xmpp/volumes/openfire'
at handlePaths (/home/pcmagas/Kwdikas/master_thesis/custom_xmpp/node_modules/ava/lib/ava-files.js:13:18)
at AvaFiles.findTestFiles (/home/pcmagas/Kwdikas/master_thesis/custom_xmpp/node_modules/ava/lib/ava-files.js:136:10)
at Api.run (/home/pcmagas/Kwdikas/master_thesis/custom_xmpp/node_modules/ava/api.js:85:99)
at Object.exports.run (/home/pcmagas/Kwdikas/master_thesis/custom_xmpp/node_modules/ava/lib/cli.js:248:7)
at Object.<anonymous> (/home/pcmagas/Kwdikas/master_thesis/custom_xmpp/node_modules/ava/cli.js:10:23)
at Module._compile (internal/modules/cjs/loader.js:688:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:699:10)
at Module.load (internal/modules/cjs/loader.js:598:32)
at tryModuleLoad (internal/modules/cjs/loader.js:537:12)
at Function.Module._load (internal/modules/cjs/loader.js:529:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:741:12)
at startup (internal/bootstrap/node.js:285:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:739:3)
npm ERR! Test failed. See above for more details.
Таким образом, я попытался со следующей конфигурацией в package.json
, но все жеЯ получаю ту же ошибку, упомянутую выше (на основе этого ответа и этого ответа ):
"ava":{
"files":[
"!./volumes/openfire/__tests__",
"!./volumes/openfire/test/*",
"./test/*.js"
],
"sources": [
"**/*.{js,jsx}",
"!dist/**/*",
"!./volumes/"
]
}
Поэтому я изменил на эту ошибку, в результате которой была упомянута выше ошибка:
"ava":{
"files": ["./test","!./volumes"],
"sources": "./src/**/*.{js,jsx}"
},
Также, поместив следующую конфигурацию:
"ava":{
"files": "!./volumes",
"sources": "./src/**/*.{js,jsx}"
},
Я получаю следующую ошибку:
> custom_xmpp@1.0.0 test /home/pcmagas/Kwdikas/master_thesis/custom_xmpp
> ava
✖ Couldn't find any files to test
npm ERR! Test failed. See above for more details.
В моей тестовой папке у меня есть файл с именем test/participantTest.js
и имеет следующий контент:
import test from ava;
import { RosterItem } from './src/xmpp_helpers/roster';
test('createItem', t => {
const participant = new RosterItem('user@example.com');
if (participant.getJid() === 'user@example.com') {
t.pass('A roster Item Has sucessfully been Created');
}
else {
t.fail('Failed to Create a roster Item');
}
});
У вас есть идеи?почему я не могу запустить свои тесты, расположенные в папке ./test/
?