A very bare-bones version of jasmine-node
JavaScript Shell
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin Modifying files from jasmine-node to reduce to only the async-callback Jul 10, 2013
lib
spec refactor(everything): Upgrade to Jasmine 2.0. This introduces many br… Jun 12, 2014
.gitignore
CHANGELOG.md refactor(everything): Upgrade to Jasmine 2.0. This introduces many br… Jun 12, 2014
LICENSE refactor(everything): Upgrade to Jasmine 2.0. This introduces many br… Jun 12, 2014
README.md chore(release): version bump and package change for 2.0 Jun 17, 2014
package.json chore(release): version bump and package change for 2.0 Jun 17, 2014
specs.sh

README.md

minijasminenode2

Based on Jasmine-Node, but minus the fancy stuff. This node.js module makes Pivotal Lab's Jasmine (http://github.com/pivotal/jasmine) spec framework available in node.js or via the command line.

version notice

minijasminenode comes in two flavors.

This is the branch for minijasminenode2. Switch to minijasminenode.

Note that there have been breaking changes between Jasmine 1.3.1 and Jasmine 2.0. Notably, a different interface for reporters and custom matchers. Also, note that per-spec timeouts (e.g. it('does foo', fn, 1000)) no longer work in Jasmine 2.0.

features

MiniJasmineNode exports a library which

  • places Jasmine in Node's global namespace, similar to how it's run in a browser.
  • adds result reporters for the terminal.
  • adds the ability to load tests from file.
  • adds focused specs with iit and ddescribe.

The module also contains a command line wrapper.

installation

Get the library with

npm install minijasminenode2

Or, install globally

npm install -g minijasminenode2

If you install globally, you can use minijasminenode directly from the command line

minijasminenode2 mySpecFolder/mySpec.js

See more options

minijasminenode2 --help

usage

// Your test file - mySpecFolder/mySpec.js
describe('foo', function() {
  it('should pass', function() {
    expect(2 + 2).toEqual(4);
  });
});
    var miniJasmineLib = require('minijasminenode2');
    // At this point, jasmine is available in the global node context.

    // Add your tests by filename.
    miniJasmineLib.addSpecs('myTestFolder/mySpec.js');

    // If you'd like to add a custom Jasmine reporter, you can do so. Tests will
    // be automatically reported to the terminal.
    miniJasmineLib.addReporter(myCustomReporter);

    // Run those tests!
    miniJasmineLib.executeSpecs(options);

You can also pass an options object into executeSpecs

    var miniJasmineLib = require('minijasminenode2');

    var options = {
      // An array of filenames, relative to current dir. These will be
      // executed, as well as any tests added with addSpecs()
      specs: ['specDir/mySpec1.js', 'specDir/mySpec2.js'],
      // A function to call on completion.
      // function(passed)
      onComplete: function(passed) { console.log('done!'); },
      // If true, display suite and spec names.
      isVerbose: false,
      // If true, print colors to the terminal.
      showColors: true,
      // If true, include stack traces in failures.
      includeStackTrace: true,
      // Time to wait in milliseconds before a test automatically fails
      defaultTimeoutInterval: 5000
    };
    miniJasmineLib.executeSpecs(options);

to run the tests

./specs.sh

This will run passing tests as well as show examples of how failures look. To run only passing tests, use npm test or ./bin/minijn spec/*_spec.js