Running mocha tests from node

I am trying to run my mocha tests from node . The ultimate goal is to add code-coverage via istanbul/blanket and generate a lcov file for input into sonar for code coverage.

This is a sample project on which I am trying https://github.com/rajarshigoswami/Todos

The mocha tests are under https://github.com/rajarshigoswami/Todos/tree/master/test/mocha

The tests are running from browser, but when I am trying via node, it wont pick up any of the spec files.

How to use : run : npm install then : grunt

My questions are :

  1. What am I missing or doing wrong here?
  2. How do I integrate blanket.js/istanbul to generate lcov files

Answers


I would change a few things. Simply add this to package.json

"scripts": {
  "test":
  "./node_modules/.bin/istanbul test ./node_modules/.bin/_mocha -- -R spec"
}

Now, when you do npm test it runs mocha and istambul

This article will help you


There's a few options depending what you need to do:

1) So firstly it would be good to know what you actually mean by running tests in node? For example I use to mocha to test server-side code for my node.js applications. It just runs the tests without relying on any specific environment (except node.js obviously). Without any other tools simply run mocha your/custom/test/directory/ (that assume your mocha is installed globally). So as long as your view test don't rely on being run in a Web Browser you're good.

2) If what you just want run your front-end tests without need of opening SpecRunner.html manually in a web browser, I highly recommend using karma test runner, with a headless browser like PhantomJS.

3) Finally if you already have the grunt installed just grab the mocha-istanbul npm module. The configuration is really simple:

mocha_istanbul: {
    coverage: {
        // where your tests leave
        src: 'server/tests',
        options: {
            // instrument only spec files
            mask: '*.spec.js',
            // output a human readable website
            // (along site regular test summary produced by mocha)
            reportFormats: ['html']
        }
    }
}

So as you can see there are some options out there. Just grab the one that suits your project the best.


your problem is that you are trying to test code that using requirejs

in order for the you mocha spec to work with phantom and requirejs on a grunt task runner you can use grunt-mocha-phantomjs

for you other issue of using istambol check this link (this link is more suitable for your purpose because its use backbone also (-: )


Need Your Help

Silverlight 4 Out of Browser error

silverlight-4.0 wcf-ria-services sqlmembershipprovider

Using the Silverlight 4 WCF RIA services works just fine via web page. After installing it as an Out Of Browser application, there is a blank screen then an error comes up saying "Load operation f...

Does x86 have an atomic increment that keeps the value that was stored?

assembly x86 atomic

I have found lock inc addr but that doesn't keep a copy of the stored value around and even a read immediately after it in the same thread could come after a competing write.