sails-generate-unittest
v0.0.4
Published
Generate a unit test for your Sails app.
Downloads
2
Maintainers
Readme
sails-generate-unittest
Generate a unit test for your Sails app.
this a fork by sails-generate-test
Install
npm install --save sails-generate-unittest
Modules to using for test: Mocha + Chai + Sinon + Supertest
Modules to using for code coverage tool: Istanbul
npm install -D chai mocha sinon supertest istanbul
The unit tests will be executed out by a task Grunt
Install Grunt and module for mocha + istanbul
npm install -D grunt grunt-mocha-istanbul
Or you can copy this piece of code in the file package.json
and then run npm install
{
"devDependencies": {
"chai": "^3.5.0",
"grunt": "^1.0.1",
"grunt-mocha-istanbul": "^5.0.1",
"istanbul": "^0.4.3",
"mocha": "^2.5.3",
"sinon": "^1.17.4",
"sinon-chai": "^2.8.0",
"supertest": "^1.2.0"
}
}
we must modify the .sailsrc
file and add the module Test:
{
"generators": {
"modules": {
"test": "sails-generate-unittest"
}
}
}
once the modules installed, we can run the tests generator
sails generate test <apiname>
<apiname>
is the endpoint we want to test
for example, we have User module and User controller, the execution would be:
sails generate test User
The end result will be the generation of the following structure test
test - Root directory for test
├── fixtures
├── integration
│ ├── blueprint - Test directory for Blueprint
│ ├── controller - Test directory for controllers
│ ├── models - For Models
│ ├── polices - For Polices
│ └── services - For Services
├── README.md - README file
├── bootstrap.test.js - Load sails to test
└── moncha.opts - Mocha configurations
Gruntjs tasks to be created
task
├── config
│ └── mocha_istanbul.js - Mocha and Istanbul coverage configuration
└── register
└── test.js - Task for to run test
Creating test environment
config
└── env
└── test.js - Test environment