Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tree: cdcf450ad3
Fetching contributors…

Cannot retrieve contributors at this time

file 195 lines (151 sloc) 12.156 kb

Latest Version 0.3.0 - September 21 2011

Changes include: * Removal of all third party testing engines or modules, all testing is now done internally using the assert library of node with additions based largely off of expresso for the assert.response method and test processing. Code has had significant modifications but is still structurely credited to TJHolowaychuck and the expresso project * Formatting of errors and test results, making errors consistently report the true source of the issue while running asynchronously. * Function refactor and cleanup * Full support for coffee source and coffee spec files. Testing no longer requires or uses javascript files by default, however they are supported * Configuration options to support changes to default behavior * During tests, stdout is overridden preventing additional messages from the code being tested or the test to display. All actual information shown should come from the test case result instead and can be built as part of the testcase function. * Refactor 'setup' and 'teardown' to operate on a "suite" level, for individual test setup it is recommended you include such code in the individual test and for teardown use the beforeExit callback. * Removal of obsolete/excess files from project. * Bug Fixes as found

    ,a8888a,          ad888888b,         ,a8888a,        88888888ba   88888888888  888888888888    db         
  ,8P"'  `"Y8,       d8"     "88       ,8P"'  `"Y8,      88      "8b  88                88        d88b        
 ,8P        Y8,              a8P      ,8P        Y8,     88      ,8P  88                88       d8'`8b       
 88          88           aad8"       88          88     88aaaaaa8P'  88aaaaa           88      d8'  `8b      
 88          88           ""Y8,       88          88     88""""""8b,  88"""""           88     d8YaaaaY8b     
 `8b        d8'              "8b      `8b        d8'     88      `8b  88                88    d8""""""""8b    
  `8ba,  ,ad8'  888  Y8,     a88  888  `8ba,  ,ad8'      88      a8P  88                88   d8'        `8b   
    "Y8888P"    888   "Y888888P'  888    "Y8888P"        88888888P"   88888888888       88  d8'          `8b

Version 0.2.3 - September 13 2011

Changes include: * Version information available as a command line switch (-v or --version) * Corrected bug found in command processing * Created startHeader function to provide intiial output for the various modes of kitkat (test, spec, autospec and continuous testing), this includes the mode, src/spec file locations, and switches config overrides if any.

Version 0.2.2 - September 12 2011

Changes iunclude: * Configuration file re-introduced to allow options on kitkat operations and paths used. See for more information on available options.

Version 0.2.1 - September 9 2011

Bugs Removed: * debug statement in code removed * colour on 100% tests passed was not green * testing flag (kitkat -t) did not compile code before tests.

Version 0.2.0 - September 9 2011

Changes include: * Refactor over entire project, removed other engines and now using a modified and included expresso engine for all testing. * Coloured-log added for a prettier output * scaffolding of folders and files cleaned up, we now create a default file if you do not have any src files present. * testing results with request can still be misleading ( result of async testing with expresso ), however now we correctly identify the result is from a callback versus labelling it as the wrong test result. * source folder renamed to src * mocks folder and dependencies folder removed (convention over configuration)

       ,a8888a,          ad888888b,         ,a8888a,            88888888ba   88888888888  888888888888    db         
     ,8P"'  `"Y8,       d8"     "88       ,8P"'  `"Y8,          88      "8b  88                88        d88b        
    ,8P        Y8,              a8P      ,8P        Y8,         88      ,8P  88                88       d8'`8b       
    88          88           ,d8P"       88          88         88aaaaaa8P'  88aaaaa           88      d8'  `8b      
    88          88         a8P"          88          88         88""""""8b,  88"""""           88     d8YaaaaY8b     
    `8b        d8'       a8P'            `8b        d8'         88      `8b  88                88    d8""""""""8b    
     `8ba,  ,ad8'  888  d8"          888  `8ba,  ,ad8'          88      a8P  88                88   d8'        `8b   
       "Y8888P"    888  88888888888  888    "Y8888P"            88888888P"   88888888888       88  d8'          `8b

Version 0.1.3 - September 6 2011

Changes Include: * Moved copy of expresso with corrections for request failures into the bin folder and updated kitkat to use this instead of installing the expresso dependency. * The above change means there is no longer any dependency on expresso in the package.json, this removes the installation of js-coverage which is pretty messy and non-functional for most scenarios we use. * Refactor of code around watches

Version 0.1.2 - August 12 2011

Bugs Removed: * Hyphen in code file when generating spec files now replaces the hypen with an underscore for the variable name i.e. connect_esi = require ('connect-esi') * Watches for .coffee files in the spec dir which are not named have been removed, this allows things like fixtures directory with coffee files for testing against to run and our code will not try to generate and test them as spec or code files.

Version 0.1.1 - August 9 2011

Bugs Removed: * Expresso is fast...too fast, changed the watchCoffeeFile function to execute the coffee script compiling via exec command instead of directly and then call the tests in the callback of exec()

Version 0.1.0 - August 8 2011

Changes include: * Modified command line argument processing, now accepts new parameters for the following: * uglify - will cause the code being tested to be compiled into a single js file and then minified using the uglify-js library, this is ideal for client side applications * engine - ability to now specify one of three engines to be used by kitkat, these include expresso (default), jasmine-node and the envJasmine + rhino for testing.

Version 0.0.7 - August 3 2011

Changes include: * Created commonjs.js file to mock up basic require functionality so that tests will not fail simply for the missing require keyword in Rhino. * Specified the path used in spec files to use EnvJasmine.projectPath rather than the fully coded path when spec file is originally created (allows project to move without breaking the spec files.)

Bugs removed: * growl-notify no longer displays an error message when tests succeed, this was a result of rhino throwing an error on keywords it did not understand or have implemented for javascript testing. (yet)

Version 0.0.6 - July 26 2011

Changes include: * Modified configuration file and code to use new variable prodTargetCreate defaulted to false, this variable will control whether we create the combined coffee script file, and resulting .app.js and .min.js which is mostly useful for client applications. Our default is server applications so we will typically just want the code files compiled from .coffee to .js individually. * Modified the default deployment folder to lib/ of the current project, again still modifiable in the configuration file if needed. * Added an Example section o the file illustrating the procedure to use kitkat with a new application

Bugs Removed: * Bad path to the lib folder for growl-notify icons, corrected to use path variable pointed at lib folder * Removed extra call to util.log which was outputting created js files on screen

Version 0.0.5 - July 26 2011

Changes include: * Modified the combine method to use .app.js for the combined compiled coffee-script file. * Corrected a typo: dependency instead of dependancy (sigh) * Removed node_modules from walk function by way of a conditional check

Bugs Removed: * Code did not exclude certain directories, such as node_modules which could contain other .coffee files and should not be included. It may be that in the future we will include a .kitkatignore file to list exclusions in addition to this.

Version 0.0.4 - July 25 2011

Changes include: * Autospec and spec functionality completed * Stalker library included to monitor directories containing code and spec files * Paths corrected for placement of the libraries and determing location to support gloabl install to /usr/local path * NPM package published and tested * Modification of the EnvJasmine package to support a project path command argument, this is required to allow access to files outside of EnvJasmine's location which is in the lib folder beneath this project and could be inside /usr/local instead of your project.

Bug Removed: * Missing callback in the create specs task of the test function. * Path to dependancy file in project instead of library location. * Far too many again, this is still beta.

Version 0.0.3 - July 20 2011

Changes include: * Dynamic, recursive file gathering to determine the files needed for tests * Async functionality to ensure file gathering completes before testing * Introduction of optional configuration file stored in your project/dependancy folder called kitkat_config.js * implementation of the command parser and usage functionality * growl notifications enabled

Bugs removed: * too many to iterate at this time, code still in beta

Version 0.0.2 - July 15 2011

Third party libraries added including: * optimist - provides a very light weight command line argument processor * async - some advanced flow control for node.js applications * envjasmine - headless jasmine based testing environment * growl - notification system (requires growlnotify extra in order to work) * stalker - recursive directory monitoring for file changes * uglify-js - produce a single minified app.js file

Additional changes include: * Configuration of the lib/env_jasmine/include/dependancies.js file setting the default src and test directory. * Creation of the package.json file * Addition of the MIT license * Update version from 0.0.1 to 0.0.2

Version 0.0.1 - July 15 2011

initial project hierarchy setup, named kitkat for kontinuous integrated testing koffee application template (yes the correct spelling is c's instead of k's...but have a break, have a kitkat)

Initial goals of this project is to create a build tool that will initialize automated testing components for a coffee-script based application, it was originally going to be a piece built into another project but soon grew into a separate project on it's own.

The list of features I would like to include (though not limited) are as follows: * Automate monitoring and build of coffee-script files * Automate execution of compiled specs * Notify when test specs pass/fail with instant feedback * Provide a code coverage report * hook into git commit to require successful pass of code prior to commits * pass/fail history to database support if required (Will not be mandatory) * Benchmarking - considering how and if this should be a piece within kitkat itself

Known Issues:

  • Stalker library calls back on modified files it has logged when new files are added, net result is I've had to remove watches before they are added, while this is not clean, it is functional, further review of the stalker library and possible bug report to follow.

  • Many more i'm sure, please report bugs as they are found and code enhancements as they become obvious.

Something went wrong with that request. Please try again.