grunt-ng-apimock
Grunt plugin that wraps around ng-apimock which provides the ability to use scenario based api mocking:
- for local development
- for protractor testing
Getting Started
This plugin requires Grunt ~0.4.5
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-ng-apimock --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt;
The "ngApimock" task
Overview
In your project's Gruntfile, add a section named ngApimock
to the data object passed into grunt.initConfig()
.
grunt
This task will process the mock data provided in the configuration and make it accessible for connect as middleware.
Options
options.defaultOutputDir
Type: String
Default: '.tmp/mocks/'
Should be the location where the ngApimock plugin will put it's generated files.
options.watch
Type: boolean
Default: false
Mandatory: false
Indicates if mocks should be watched.
src
Type: String
Mandatory: true
Should be the location where the mock json files are located.
Usage Examples
Default Options
grunt
Howto write mocks
Howto use global variables
see Howto use global variables
Howto serve selected mocks
To be able to use the selected mocks you need to do two things:
- Add the connect middleware
- Add the mocking interface to your connect configuration
Add the connect middleware
When running grunt-contrib-connect you can do add the following middleware block to your configuration
connect: yourTarget: options: { return ngApimockRequest ... ; }
Add the mocking interface to your connect configuration
When running grunt-contrib-connect you can do add the following staticServe block to your configuration
connect: yourTarget: options: { return ... ; }
Howto use for local development
see Howto use for local development
Howto use for your protractor tests.
see Howto use for your protractor tests
Available functions
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.