How do I run Jasmine tests on Node.js from command line? I have installed jasmine-node via npm and written some tests. I want to run tests inside the spec
directory and get results in the terminal, is this possible?

- 3,751
- 7
- 53
- 76

- 10,872
- 22
- 73
- 111
-
2Try this as well https://github.com/jasmine-contrib/grunt-jasmine-node – Dalorzo Jan 27 '14 at 22:23
4 Answers
This should get you going quickly:
- install Node.js (obviously).
Next install Jasmine. Open a command prompt and run:
npm install -g jasmine
Next, cd to any directory and set up an example 'project':
jasmine init
jasmine examples
Now run your unit tests:
jasmine
If your jasmine.json file is somewhere else besides spec/support/jasmine.json, simply run:
jasmine JASMINE_CONFIG_PATH=relative/path/to/your/jasmine.json
For more info see:

- 8,226
- 7
- 45
- 90

- 5,141
- 4
- 37
- 34
-
3This info should definitely be more prominently included on the jasmine homepage. At the moment you only find out if you go to the github project. – Daniel Earwicker Mar 06 '16 at 15:54
-
3Doing exactly this on a blank "npm init" project still yields no results for me. – Richard Løvehjerte Sep 01 '16 at 12:16
-
3
-
I think that last link wants to point here now: https://jasmine.github.io/setup/nodejs.html – ruffin May 12 '22 at 16:25
EDIT
It seems this is no longer the current best answer as the package is unmaintained. Please see the answer below
You can do this
from your test directory
sudo npm install jasmine-node
This installs jasmine into ../node_modules/jasmine-node
then
../node_modules/jasmine-node/bin/jasmine-node --verbose --junitreport --noColor spec
which from my demo does this
Player - 5 ms
should be able to play a Song - 2 ms
when song has been paused - 1 ms
should indicate that the song is currently paused - 0 ms
should be possible to resume - 0 ms
tells the current song if the user has made it a favorite - 1 ms
#resume - 0 ms
should throw an exception if song is already playing - 0 ms
Player - 5 ms
should be able to play a Song - 2 ms
when song has been paused - 1 ms
should indicate that the song is currently paused - 0 ms
should be possible to resume - 0 ms
tells the current song if the user has made it a favorite - 1 ms
#resume - 0 ms
should throw an exception if song is already playing - 0 ms
Finished in 0.01 seconds
5 tests, 8 assertions, 0 failures, 0 skipped

- 8,817
- 2
- 32
- 47
-
17To those arriving via google: `jasmine-node` has had no new commits since 2014, only runs jasmine 1.3, and appears to have been abandoned. The official `jasmine` CLI in user64141's answer below is more up to date. – ReactiveRaven May 10 '16 at 23:56
-
2Avoid installing NPM packages with `sudo`. Only when really necessary, happens rarely. – Segers-Ian Oct 19 '16 at 18:30
The easiest way is to run the command in your project root:
$ npx humile
It founds all your specs which name ends with .spec.js
.
If you think humile is fine for your project, just install it as dev dependency. It speeds up the command.
$ npm install -D humile

- 3,431
- 1
- 22
- 25
Try Karma (formerly Testacular), it is a testing library agnostic test runner done by Angular.js team
http://karma-runner.github.io/0.12/index.html
Jasmine support is well baked.

- 49
- 1
- 6
-
6Karma doesn't run the tests in Node. See http://stackoverflow.com/questions/16660670/how-to-test-nodejs-backend-code-with-karma-testacular. – mik01aj Mar 13 '15 at 11:23