npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

minijasminenode23

v2.0.0

Published

minijasminenode with Jasmine node 2.3 and grunt support

Downloads

19

Readme

minijasminenode23

minijasminenode with Jasmine version 2.4 under the hood.

Original fork from juliemr with an initial update from xdissent to use Jasmine 2.1 (which has since been updated to 2.4).

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.

features

MiniJasmineNode23 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.
  • adds xdescribe, fdescribe, xit, fit, beforeEach, afterEach, beforeAll, afterAll
  • specification of spec file locations are glob-able

The module also contains a command line wrapper.

installation

Get the library with

npm install minijasminenode23

Or, install globally

npm install -g minijasminenode23

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

minijasminenode23 mySpecFolder/mySpec.js

See more options

minijasminenode23 --help

usage

// Your test file - mySpecFolder/mySpec.js
describe('foo', function() {
  it('should pass', function() {
    expect(2 + 2).toEqual(4);
  });
});
    var miniJasmineLib = require('minijasminenode23');
    // 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('minijasminenode23');

    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', 'specDir/**/*.spec.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);

If you want a custom runner instead of the default add it as an option into executeSpecs

    var miniJasmineLib = require('minijasminenode23');
    var myCustomReporter = require('myCustomReporter');
    // At this point, jasmine is available in the global node context.

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

    // Run those tests!
    miniJasmineLib.executeSpecs({
      reporter: myCustomReporter
    });

Grunt Task

A Grunt task is included, called jasmine23:

module.exports = function(grunt) {
  
 grunt.loadNpmTasks('minijasminenode23')
  
  grunt.initConfig({
    jasmine23: {
      dev: {
        // Standard options apply here
        options: {
          // An array of filenames, relative to current dir. These will be
          // executed, as well as any tests added with addSpecs()
          specs: ['test/unit/**/*.spec.js'],
          // A function to call on completion.
          // function(passed)
          onComplete: function(passed) { console.log('done!') },
          // If true, display suite and spec names.
          isVerbose: true,
          // 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
        }
      }
    }
  })

  grunt.registerTask('default', ['jasmine23:dev'])  

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/minijasminenode23 spec/*_spec.js