Blog2013 ≫ Vows skeleton test generator update

Updated my Vows skeleton test generator for node 1.js 2 so it now parses the original file looking for comments that say what the method should return, like phpunit does 3. For examples, see the source code and tests it creates:

/**
 * @assert ( 'foo' ) === 'foo'
 * @assert ( 66 ) === '66'
 */

creates

vows.describe( 'skelgen' ).addBatch( {
  'skelgen.sanitise': {
    'handles good input': function ( ) {
      assert.deepEqual( skelgen.sanitise('foo'), 'foo' );
      assert.deepEqual( skelgen.sanitise(66), '66' );
    },
    'handles bad input': function ( ) {
      assert.doesNotThrow(
        function ( ) {
          skelgen.sanitise( 'foo' );
          skelgen.sanitise( 66 );
          skelgen.sanitise( undefined );
          skelgen.sanitise( null );
          skelgen.sanitise( [] );
          skelgen.sanitise( {} );
          skelgen.sanitise( new Date( ) );
        }
      );
    }
  }
} ).run( );

See the repo for how to install it and use it.

All those links to twitter are not relevant, just something that coincidentally looks like a twitter account...

UPDATE: wow this is old I don't code like this any more, nor use Vows.

  1. Javascript (programming language of the web) on the server side.
  2. Programming language of the web, mostly how I make my living.
  3. Removed old phpunit.de/manual/3.4/en/appendixes.annotations.html#appendixes.annotations.assert link here.

⬅️ :: ➡️

Paulʼs weblog - I live in Hythe near Folkestone, Kent. Wed + father to two, I'm a full stack web engineer, + I do js / node, some ruby, other languages etc. I like pubbing, parkrun, eating, home-automation and other diy stuff, history, tree stuff, telly, squirrels, pirates ☠️, lego, + TIME TRAVEL.