Skip to content

A Grunt task to make Jasmine testing on Ext.js and Sencha Touch projects easier

License

Notifications You must be signed in to change notification settings

mattgoldspink/grunt-sencha-jasmine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

grunt-sencha-jasmine

A Grunt task to make Jasmine testing on Ext.js and Sencha Touch projects easier. It extends the grunt-contrib-jasmine task and so therefore any of the options available on that task also work here.

Getting Started

This plugin requires Grunt ~0.4.1

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

npm install grunt-sencha-jasmine --save-dev

One the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('grunt-sencha-jasmine');

The "sencha_jasmine" task

This task extends the grunt-contrib-jasmine task and just provides a simpler way of getting an Ext.js and Sencha Touch project running Jasmine tasks.

Please refer to the [https://github.com/gruntjs/grunt-contrib-jasmine] docs for more details. This page will only cover the specifics for working with Ext.js.

Overview

In your project's Gruntfile, add a section named sencha_jasmine to the data object passed into grunt.initConfig().

grunt.initConfig({
  sencha_jasmine: {
    options: {
      specs: 'tests/specs/**/*.js',
      extFramework : './lib/ext-4.1.2',
      extLoaderPaths : {
          "MyApp" : "./www/app"
      }
    },
    your_target: {
      // Target-specific file lists and/or options go here.
    }
  },
})

Options

Reminder that this task extends the grunt-contrib-jasmine task and therefore all the options they support are also supported.

options.extFramework

Type: String

Default value: undefined

This is the only required property and should point to the directory in which Ext.js is installed.

options.extLoaderPaths

Type: Object

Default value: {}

Use this to set the Ext.Loader paths to point your namespaces to the correct locations. The namespaces should be relative to the root directory of your ptoject which is where the _SpecRunner.html is generated. If you're running the task against a remote server you should make sure the paths are correct for that page on the server. In the generated _SpecRunner.html this will be used to call:

Ext.Loader.setPath({});

Contributing

In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.

Release History

0.2.4 Updating to grunt-contrib-jasmine 0.5.2 by default 0.2.3 Fixed bugs #1 and #2 0.2.0 Add support for the extLoaderPaths config property and fix bug whereby only a locally installed grunt-contrib-jasmine would get picked up. 0.1.0 First release which supports the extFramework property

About

A Grunt task to make Jasmine testing on Ext.js and Sencha Touch projects easier

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published