2014-04-25 18 views
10

Tôi đang sử dụng thiết lập mocha-phantomjs để kiểm tra đơn vị. Tôi đã theo dõi package.json scriot để chạy thử nghiệm.lỗi npm ELIFECYCLE trong khi chạy thử nghiệm

"scripts": { 
"test": "npm run testFlickr", 
"testFlickr": "mocha-phantomjs ./test/FlickrTest.html" 
} 

Chạy này ok trong trình duyệt. Và khi tôi chạy lệnh npm test trong cmd, các thử nghiệm chạy ổn nhưng nó cũng mang lại cho lỗi sau

3 passing (5s) 
6 failing 


npm ERR! [email protected] testFlickr: `mocha-phantomjs ./test/FlickrTest.html` 
npm ERR! Exit status 6 
npm ERR! 
npm ERR! Failed at the [email protected] testFlickr script. 
npm ERR! This is most likely a problem with the flickr-test package, 
npm ERR! not with npm itself. 
npm ERR! Tell the author that this fails on your system: 
npm ERR!  mocha-phantomjs ./test/FlickrTest.html 
npm ERR! You can get their info via: 
npm ERR!  npm owner ls flickr-test 
npm ERR! There is likely additional logging output above. 
npm ERR! System Windows_NT 6.1.7600 
npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nod 
ejs\\node_modules\\npm\\bin\\npm-cli.js" "run" "testFlickr" 
npm ERR! cwd C:\Users\user\Desktop\test 
npm ERR! node -v v0.10.26 
npm ERR! npm -v 1.4.3 
npm ERR! code ELIFECYCLE 
npm ERR! 
npm ERR! Additional logging details can be found in: 
npm ERR!  C:\Users\user\Desktop\test\npm-debug.log 
npm ERR! not ok code 0 
npm ERR! Test failed. See above for more details. 
npm ERR! not ok code 0 

Hãy ai cũng có thể cho tôi biết làm thế nào tôi có thể giải quyết lỗi này.

Trả lời

3

Và khi tôi chạy thử nghiệm lệnh NPM trong cmd, chạy thử ổn

Không họ không. Bạn có 6 bài kiểm tra không thành công. Mã thoát của mocha-phantomjs bằng số lần kiểm tra không thành công. Chạy trực tiếp mocha-phantomjs ./test/FlickrTest.html và xem những gì không thành công. Nhận ra PhantomJS hơi khác so với trình duyệt của bạn - bạn có thể have to debug it.

Thiết lập tập lệnh của bạn là lẻ. Bạn chỉ nên có:

"scripts": { 
    "test": "mocha-phantomjs ./test/FlickrTest.html" 
} 

Sau đó, lỗi nút lẻ sẽ biến mất.

+0

Nhưng tôi muốn chúng thất bại khi nhập sai. –

7

Khi chạy npm test nó squelches ELIFECYCLE lỗi để bạn không bao giờ gặp phải trải nghiệm này.

Reference to code

Khi bạn di chuyển một kịch bản thử nghiệm để một kịch bản có tên tuổi khác nhau, bạn sẽ bắt đầu thấy ELIFECYCLE lỗi.

Khắc phục của tôi là thêm exit 0 vào cuối lệnh. Đối với mã của bạn nó sẽ trông như thế này:

"scripts": { 
    "test": "npm run testFlickr", 
    "testFlickr": "mocha-phantomjs ./test/FlickrTest.html; exit 0" 
} 
+0

Tôi gặp sự cố này vì tôi muốn có nhiều tập lệnh thử nghiệm trong tệp 'package.json' của mình. – Sgnl

+1

Thêm '; thoát 0' vào cuối tập lệnh tùy ý sẽ chặn lỗi. – joemaller

+0

@joemaller không có trong cửa sổ. –

1

Đây là một vấn đề khi sử dụng npm run, nó đã làm với Mocha thoát với mã == 0 bất cứ khi nào một thử nghiệm thất bại!. Nếu bạn đang trên Windows thử điều này:

"scripts": { 
    "test": "npm run testFlickr || ECHO.", 
    "testFlickr": "mocha-phantomjs ./test/FlickrTest.html || ECHO." 
} 
0

Tôi đã có vấn đề này giống nhau, và những gì cố định nó cho tôi là khi tôi chạy thử nghiệm đơn vị của tôi, làm KHÔNG sử dụng

npm run test 

thay sử dụng:

npm test 
Các vấn đề liên quan