2015-06-14 23 views
6

Podążam za dokumentami Sails i próbuję uruchomić testy Mocha. Edytowałem mój package.json w sposób określony w dokumentacji, ale z jakiegoś powodu, gdy próbuję uruchomić Mocha, zawsze otrzymuję EACESS, odmowa uprawnień.Nie można uruchomić testów mokka z żaglami

Początkowo dostałem:

Error: EACCES, permission denied '/Library/Application Support/Apple/ParentalControls/Users' 

I nie rozumiem, dlaczego to musi zrobić coś z prowadzeniem moich testów, ale dodał wymaganej zgody na tego folderu.

potem mam:

Error: EACCES, permission denied '/Library/Application Support/ApplePushService' 

Ponownie, nie rozumiem, więc zmienił pozwolenie na tym folderze, który nie pomogło również.

Nie rozumiem, dlaczego Mocha potrzebuje uprawnień do tych plików lub jak to naprawić.

Pobiegłem polecenia:

mocha test/bootstrap.test.js test/unit/**/*.test.js 

A moja struktura projektu jest dokładnie taka sama jak w Sails tutoriale.

Używam [email protected]. Mój współpracownik sklonował repozytorium i próbował uruchomić testy na swoim komputerze, ale nie udało mu się dokładnie tych samych błędów.

Próbowałem obniżyć do [email protected] Co również nie pomogło.

Pełne ślad błędu:

events.js:85 
     throw er; // Unhandled 'error' event 
      ^
Error: EACCES, permission denied '/Library/Application Support/ApplePushService' 
    at Error (native) 
    at Object.fs.readdirSync (fs.js:761:18) 
    at Glob._readdir (/usr/local/lib/node_modules/mocha/node_modules/glob/glob.js:609:20) 
    at Glob._process (/usr/local/lib/node_modules/mocha/node_modules/glob/glob.js:393:15) 
    at Glob.<anonymous> (/usr/local/lib/node_modules/mocha/node_modules/glob/glob.js:427:14) 
    at Array.forEach (native) 
    at Glob.<anonymous> (/usr/local/lib/node_modules/mocha/node_modules/glob/glob.js:426:9) 
    at Glob._afterReaddir (/usr/local/lib/node_modules/mocha/node_modules/glob/glob.js:635:15) 
    at Glob._readdir (/usr/local/lib/node_modules/mocha/node_modules/glob/glob.js:613:17) 
    at Glob._process (/usr/local/lib/node_modules/mocha/node_modules/glob/glob.js:393:15) 
    at Glob.<anonymous> (/usr/local/lib/node_modules/mocha/node_modules/glob/glob.js:427:14) 
    at Array.forEach (native) 
    at Glob.<anonymous> (/usr/local/lib/node_modules/mocha/node_modules/glob/glob.js:426:9) 
    at Glob._afterReaddir (/usr/local/lib/node_modules/mocha/node_modules/glob/glob.js:635:15) 
    at Glob._readdir (/usr/local/lib/node_modules/mocha/node_modules/glob/glob.js:613:17) 
    at Glob._process (/usr/local/lib/node_modules/mocha/node_modules/glob/glob.js:393:15) 
    at Glob.<anonymous> (/usr/local/lib/node_modules/mocha/node_modules/glob/glob.js:427:14) 
    at Array.forEach (native) 
    at Glob.<anonymous> (/usr/local/lib/node_modules/mocha/node_modules/glob/glob.js:426:9) 
    at Glob._afterReaddir (/usr/local/lib/node_modules/mocha/node_modules/glob/glob.js:635:15) 
    at Glob._readdir (/usr/local/lib/node_modules/mocha/node_modules/glob/glob.js:613:17) 
    at Glob._process (/usr/local/lib/node_modules/mocha/node_modules/glob/glob.js:393:15) 
    at Glob.iterator (/usr/local/lib/node_modules/mocha/node_modules/glob/glob.js:171:10) 
    at Array.forEach (native) 
    at new Glob (/usr/local/lib/node_modules/mocha/node_modules/glob/glob.js:169:22) 
    at glob (/usr/local/lib/node_modules/mocha/node_modules/glob/glob.js:57:11) 
    at Function.globSync (/usr/local/lib/node_modules/mocha/node_modules/glob/glob.js:76:10) 
    at Object.lookupFiles (/usr/local/lib/node_modules/mocha/lib/utils.js:590:20) 
    at /usr/local/lib/node_modules/mocha/bin/_mocha:320:30 
    at Array.forEach (native) 
    at Object.<anonymous> (/usr/local/lib/node_modules/mocha/bin/_mocha:319:6) 
    at Module._compile (module.js:460:26) 
    at Object.Module._extensions..js (module.js:478:10) 
    at Module.load (module.js:355:32) 
    at Function.Module._load (module.js:310:12) 
    at Function.Module.runMain (module.js:501:10) 
    at startup (node.js:129:16) 
    at node.js:814:3 
npm ERR! Test failed. See above for more details. 
+0

Co 'ls test/jednostka/**/* .test.js' zrobić? Wygląda na to, że może być dowiązanie symboliczne do '/ Library/Application Support /' gdzieś w katalogu 'test /'. – robertklep

+0

Uruchomienie polecenia 'ls' zwraca:' test/unit/controllers/UserController.test.js test/unit/models/User.test.js', które są moimi dwoma testowymi plikami. Podczas wyszukiwania nie widziałem żadnego dowiązania symbolicznego. – OmriToptix

+0

Może to problem związany z określonym katalogiem? spróbuj uruchomić 'npm cache clean', a następnie' npm install' ponownie i ponownie uruchom komendę i sprawdź, czy działa. Jeśli nie, może spróbuj zmienić katalog? –

Odpowiedz

1

Spójrz na moją sails.js test example. Myślę, że to może ci pomóc.

Tak jak w przedstawionym poniżej kodzie, patrz test/bootstrap.js.

var Sails = require('sails'); 
var _ = require('lodash') 
global.DOMAIN = 'http://localhost'; 
global.PORT = 1420; 
global.HOST = DOMAIN + ':' + PORT; 
before(function(callback) { 
    this.timeout(7000); 

    var configs = { 
    log: { 
     level: 'info' 
    }, 
    connections: { 
     memory: { 
     // lets use memory tests ... 
     adapter : 'sails-memory' 
     } 
    }, 
    models: { 
     connection: 'memory' 
    }, 
    port: PORT, 
    environment: 'test', 

    // @TODO needs suport to csrf token 
    csrf: false, 

    // we dont need this configs in API test 
    hooks: { 
     grunt: false, 
     socket: false, 
     pubsub: false 
    } 
    }; 

    Sails.load(configs, function(err, sails) { 
    if (err) { 
     console.error(err); 
     return callback(err); 
    } 

    console.log('rodo!') 
    // here you can load fixtures, etc. 
    callback(err, sails); 
    }); 
}); 

after(function(done) { 
    // here you can clear fixtures, etc. 
    sails.lower(done); 
}); 
+0

Nadal nie pomaga. Uruchomienie polecenia "mocha" samo, niezależnie od Żagli, również zwróci ten błąd odmowy uprawnień. Chyba nie ma to nic wspólnego z Żaglami. – OmriToptix

0

Nie jestem pewien, czy to może pomóc, ale miałem podobny problem: jak najszybciej Wpisałem mocha w moim skorupkach, że dopuściły się EACCES w folderze poza moim app. :

/usr/local/lib/node_modules/mocha/bin/_mocha:372 
    throw err; 
    ^

Error: EACCES: permission denied, scandir '/backup/mint17.3/etc/cups/ssl' 

znalazłem bug przyszedł z pliku ./test/mocha.opt gdybym napisał komentarz z sails.js docs:

/** 
* @Doc :: This file should contain mocha configuration as described here:  https://mochajs.org/#mochaopts 
*  
* Note: The default test-case timeout in Mocha is 2 seconds. Increase 
*  the timeout value in mocha.opts to make sure the sails lifting completes 
*  before any of the test-cases can be started. 
*/ 

--timeout 5s 
Powiązane problemy