How to run mocha tests with reporter?

When I run npm test it outputs:

 mocha ./tests/ --recursive --reporter mocha-junit-reporter 

And all tests run well. But when I try to invoke mocha ./tests/flickr/mytest --reporter junit-reporter I got:

 Unknown "reporter": junit-reporter 

How to pass it correctly?

2 Answers

From mocha-junit-reporter's readme:

# install the package npm install mocha-junit-reporter --save-dev # run the test with reporter mocha test --reporter mocha-junit-reporter --reporter-options mochaFile=./path_to_your/file.xml 
1

I spotted two issues in your command:

mocha ./tests/flickr/mytest --reporter junit-reporter 

First issue is mocha in above is a mocha command from global node module. However, when executing npm test, it actually targets local mocha command inside our node_modules folder.

Second issue is the name of reporter should be mocha-junit-reporter not junit-reporter

Solution

Workaround is to target local mocha

./node_modules/.bin/mocha ./tests/flickr/mytest --reporter mocha-junit-reporter 

This is preferrable solution.

Alternative solution is to install mocha-junit-reporter for global node modules as below:

npm install -g mocha-junit-reporter mocha ./tests/flickr/mytest --reporter mocha-junit-reporter 

This is not too preferrable because you can target different version of mocha and mocha-junit-reporter in global compare to the one in local node modules.

Cheers

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

You Might Also Like