jasmine-node
This node.js module makes the wonderful Pivotal Lab's jasmine
spec framework available in node.js.
jasmine
Version 2.0.0
of Jasmine is currently included with node-jasmine.
requirements
Requires version 10.x
of Node.js, please upgrade if you're on 0.8
, that's
just painful.
what's new
- 90% Refactor, Convert to Coffee-Script
- Isolate jasmine.js into a vm with a separate context for clean re-execution
of specs
- Now using Jasmine 2.0.0
- Removed Support for RequireJS as it was buggy, confusing, and I'm pretty
sure no one was using it.
- Removed Support for Custom Helpers (have to be inside a beforeEach, this is
a jasmine change, check out their docs on how to write one)
- Removed Custom Timeout (jasmine has added a done function and
jasmine.DEfAULT_TIMEOUT_INTERVAL
, just use that instead of expecting a
test to take no longer than x
milliseconds)
- Removed TeamCity Reporter (no support for Jasmine 2.0) will be re-added when
support is available
- Removed JUnit Reporter (no support for Jasmine 2.0) will be re-added when
support is available
install
To install the latest official version, use NPM:
npm install -g jasmine-node
usage
Write the specifications for your code in *Spec.js
and *Spec.coffee
files in the spec/
directory.
You can use sub-directories to better organise your specs. In the specs use describe()
, it()
etc. exactly
as you would in client-side jasmine specs.
Note: your specification files must be named as *spec.js
, *spec.coffee
or *spec.litcoffee
,
which matches the regular expression /spec\.(js|coffee|litcoffee)$/i
;
otherwise jasmine-node won't find them!
For example, sampleSpecs.js
is wrong, sampleSpec.js
is right.
You can work around this by using either --matchAll
or -m REGEXP
If you have installed the npm package, you can run it with:
jasmine-node spec/
If you aren't using npm, you should add pwd
/lib to the $NODE_PATH
environment variable, then run:
node bin/jasmine-node
You can also require jasmine-node as a node module
jn = require('jasmine-node');
jn.run({specFolders:['./spec']});
The jasmine-node object returned contains a defaults object so that you can see
what the expected args are. Pass only the options you need (the rest will be
filled in by the defaults) to the .run(<options>)
command and away you go!
You can supply the following arguments:
--autoTest
- rerun automatically the specs when a file changes
--coffee
- load coffee-script which allows execution .coffee files
--help, -h
- display this help and exit
--junit
- use the junit xml reporter
--match, -m REGEXP
- load only specs containing "REGEXPspec"
--matchAll
- relax requirement of "spec" in spec file names
--noColor
- do not use color coding for output
--noStackTrace
- suppress the stack trace generated from a test failure
--nunit
- use the nunit xml reporter
--reporterConfig <file>
- configuration json file to use with jasmine-reporters
--verbose
- print extra information per each test run
--version
- show the current version
--watchFolders PATH
- when used with --autoTest, watches the given path(s) and runs all tests if a change is detected
Individual files to test can be added as bare arguments to the end of the args.
Example:
jasmine-node --coffee spec/AsyncSpec.coffee spec/CoffeeSpec.coffee spec/SampleSpec.js
jasmine-reporters options
To use default options, just specify --junit
or --nunit
If you want to configure, also use --reporterConfig path/to/config.json
Example JSON File with known options
Please checkout the
jasmine-reporters repo for
more configuration information and documentation
{
"savePath": "./junit-reports/",
"consolidateAll": true,
"consolidate": true,
"useDotNotation": false,
"filePrefix": ""
}
growl notifications
Jasmine node can display Growl notifications of test
run summaries in addition to other reports.
Growl must be installed separately, see node-growl
for platform-specific instructions. Pass the --growl
flag to enable the notifications.
development
Install the dependent packages by running:
npm install
Run the specs before you send your pull request and ensure all pass:
specs.sh
changelog
- 2.0.1 Update dependencies to resolve
npm audit
issues
- 2.0.0 Upgrade to Jasmine 2.0.0, remove support for legacy/unused items
- 1.14.3 Added 'onComplete' callback to TeamCityReporter (thanks to JoergFiedler)
- 1.14.2 Uhhh...not sure what happened here.
- 1.14.1 Default to noColors if not in a TTY
- 1.14.0 Add support for
iit
, ddescribe
(thanks to mgcrea)
- 1.13.1 Add coffee-script support for 1.7.x (thanks to nathancarter)
- 1.13.0 Added timing to the verbose reporter (thanks to rick-kilgore)
- 1.12.1 Fixed an issue where an undefined variable caused an unhelpful
exception in --watch Resolves #278
- 1.12.0
- Changed
util.print
to stdout.write
(thanks to nrstott)
- Don’t affect line numbers with --requireJsSetup (thanks to daviddaurelio)
- Catch errors when loading helpers (thanks to pimterry)
- Keep autotesting until all tests have passed (thanks to notclive)
- 1.11.0 - Added Growl notification option
--growl
(thanks to
AlphaHydrae)
- 1.10.2 - Restored stack filter which was accidentally removed (thanks to
kevinsawicki)
- 1.10.1 -
beforeEach
and afterEach
now properly handle the async-timeout function
- 1.10.0 - Skipped tests now show in the terminal reporter's output (thanks
to kevinsawicki)
- 1.9.1 - Timeout now consistent between Async and Non-Async Calls (thanks to
codemnky)
- 1.9.0 - Now re-throwing the file-not-found error, added info to README.md,
printing version with
--version
- 1.8.1 - Fixed silent failure due to invalid REGEX (thanks to
pimterry)
- 1.8.0 - Fixed bug in autotest with multiple paths and added
--watch
feature
(thanks to davegb3)
- 1.7.1 - Removed unneeded fs dependency (thanks to
kevinsawicki) Fixed broken fs call in
node
0.6
(thanks to abe33)
- 1.7.0 - Literate Coffee-Script now testable (thanks to magicmoose)
- 1.6.0 - Teamcity Reporter Reinstated (thanks to bhcleek)
- 1.5.1 - Missing files and require exceptions will now report instead of failing silently
- 1.5.0 - Now takes multiple files for execution. (thanks to abe33)
- 1.4.0 - Optional flag to suppress stack trace on test failure (thanks to Lastalas)
- 1.3.1 - Fixed context for async tests (thanks to omryn)
- 1.3.0 - Added
--config
flag for changeable testing environments
- 1.2.3 - Fixed #179, #184, #198, #199. Fixes autotest, afterEach in requirejs, terminal reporter is in jasmine object, done function missing in async tests
- 1.2.2 - Revert Exception Capturing to avoid Breaking Domain Tests
- 1.2.1 - Emergency fix for path reference missing
- 1.2.0 - Fixed #149, #152, #171, #181, #195.
--autotest
now works as expected, jasmine clock now responds to the fake ticking as requested, and removed the path.exists warning
- 1.1.1 - Fixed #173, #169 (Blocks were not indented in verbose properly, added more documentation to address #180
- 1.1.0 - Updated Jasmine to
1.3.1
, fixed fs missing, catching uncaught exceptions, other fixes
Current Tags
72 Versions
-
3.0.0
...
5 years ago
-
1.16.2
[deprecated]
...
6 years ago
-
1.16.1
[deprecated]
...
6 years ago
-
1.16.0
[deprecated]
...
6 years ago
-
1.15.0
[deprecated]
...
6 years ago
-
2.0.1
[deprecated]
...
6 years ago
-
1.14.6
[deprecated]
...
6 years ago
-
1.14.5
[deprecated]
...
10 years ago
-
1.14.4
[deprecated]
...
10 years ago
-
2.0.0-beta4
[deprecated]
...
11 years ago
-
1.14.3
[deprecated]
...
11 years ago
-
2.0.0-beta3
[deprecated]
...
11 years ago
-
2.0.0-beta2
[deprecated]
...
11 years ago
-
2.0.0-beta1
[deprecated]
...
11 years ago
-
1.14.2
[deprecated]
...
11 years ago
-
2.0.0
[deprecated]
...
11 years ago
-
1.14.1
[deprecated]
...
11 years ago
-
1.14.0
[deprecated]
...
11 years ago
-
1.13.1
[deprecated]
...
11 years ago
-
1.13.0
[deprecated]
...
11 years ago
-
1.12.1
[deprecated]
...
11 years ago
-
1.12.0
[deprecated]
...
11 years ago
-
1.11.0
[deprecated]
...
11 years ago
-
1.10.2
[deprecated]
...
11 years ago
-
1.10.1
[deprecated]
...
11 years ago
-
1.10.0
[deprecated]
...
11 years ago
-
1.9.1
[deprecated]
...
11 years ago
-
1.9.0
[deprecated]
...
11 years ago
-
1.8.1
[deprecated]
...
11 years ago
-
1.8.0
[deprecated]
...
11 years ago
-
1.7.1
[deprecated]
...
12 years ago
-
1.7.0
[deprecated]
...
12 years ago
-
1.6.0
[deprecated]
...
12 years ago
-
1.5.0
[deprecated]
...
12 years ago
-
1.4.0
[deprecated]
...
12 years ago
-
1.3.1
[deprecated]
...
12 years ago
-
1.3.0
[deprecated]
...
12 years ago
-
1.2.3
[deprecated]
...
12 years ago
-
1.2.2
[deprecated]
...
12 years ago
-
1.2.1
[deprecated]
...
12 years ago
-
1.2.0
[deprecated]
...
12 years ago
-
1.1.0
[deprecated]
...
12 years ago
-
1.0.28
[deprecated]
...
12 years ago
-
1.0.27
[deprecated]
...
12 years ago
-
1.0.26
[deprecated]
...
13 years ago
-
1.0.25
[deprecated]
...
13 years ago
-
1.0.24
[deprecated]
...
13 years ago
-
1.0.23
[deprecated]
...
13 years ago
-
1.0.22
[deprecated]
...
13 years ago
-
1.0.21
[deprecated]
...
13 years ago
-
1.0.20
[deprecated]
...
13 years ago
-
1.0.19
[deprecated]
...
13 years ago
-
1.0.18
[deprecated]
...
13 years ago
-
1.0.17
[deprecated]
...
13 years ago
-
1.0.16
[deprecated]
...
13 years ago
-
1.0.15
[deprecated]
...
13 years ago
-
1.0.13
[deprecated]
...
13 years ago
-
1.0.12
[deprecated]
...
13 years ago
-
1.0.11
[deprecated]
...
13 years ago
-
1.0.10
[deprecated]
...
13 years ago
-
1.0.9
[deprecated]
...
13 years ago
-
1.0.8
[deprecated]
...
13 years ago
-
1.0.7
[deprecated]
...
13 years ago
-
1.0.6
[deprecated]
...
14 years ago
-
1.0.5
[deprecated]
...
14 years ago
-
1.0.4
[deprecated]
...
14 years ago
-
1.0.3
[deprecated]
...
14 years ago
-
1.0.2
[deprecated]
...
14 years ago
-
1.0.1
[deprecated]
...
14 years ago
-
1.0.0-rc3
[deprecated]
...
14 years ago
-
1.0.0-rc2
[deprecated]
...
14 years ago
-
1.0.0-rc1
[deprecated]
...
14 years ago