Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Running mocha test but Getting error: ReferenceError: document is not defined

I am using mocha testing framework to test Http rest-api. I want to generate test-report for all test case, but when I ran mocha --reporter html > report.html
Getting following error

/usr/local/lib/node_modules/mocha/lib/reporters/html.js:263
  var div = document.createElement('div');
            ^
ReferenceError: document is not defined
    at fragment (/usr/local/lib/node_modules/mocha/lib/reporters/html.js:263:13)
    at new HTML (/usr/local/lib/node_modules/mocha/lib/reporters/html.js:53:14)
    at Mocha.run (/usr/local/lib/node_modules/mocha/lib/mocha.js:459:18)
    at Object.<anonymous> (/usr/local/lib/node_modules/mocha/bin/_mocha:393:18)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
    at node.js:902:3
like image 453
geeks Avatar asked Sep 26 '15 07:09

geeks


Video Answer


2 Answers

The reporter named html is only to be used when running Mocha in a browser. Running Mocha from the command line won't work with it.

There is a reporter named doc, which outputs "html documentation" according to mocha --reporters. By the way, when you run mocha --reporters you won't see html listed as a reporter, for the reason I've given above.

like image 146
Louis Avatar answered Oct 25 '22 18:10

Louis


if you don't need to test it in a browser, then you can use jsdom-global:

mocha -r jsdom-global/register
like image 10
Alexander Vielimchanitsia Avatar answered Oct 25 '22 18:10

Alexander Vielimchanitsia