0.0.4 • Published 8 years ago

sails-generate-unittest v0.0.4

Weekly downloads
7
License
MIT
Repository
github
Last release
8 years ago

sails-generate-unittest

image_squidhome@2x.png

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

More Resources

License

MIT