scenario-test
A simple javascript test tool for testing node.js HTTP servers.
Just write the YAML files!
Install
$ npm install -g scenario-test
Example
First, create a config file,
config.yaml
server: http://localhost:3000mongodb: mongodb://localhost/testuser: ./user/user.yamlapi: - class: user path: ./api/user.yaml scenario: - ./scenario/user.yaml
then, create your users
./user/user.yaml
- user_id: user1 with: username: user1 email: user1@mail.com password: user1234
and just describe your APIs,
./api/user.yaml
- API: create method: POST path: /users parameters: username: self.username email: self.email password: self.password response: when user sign up ok: expect status: 200 - API: login method: POST path: /login parameters: username: self.username password: self.password response: when user login ok: expect status: 200 expect header: # header to test expect body: # res.body to test
then, give some scenarios ./scenario/user.yaml
- who: user1 what: user.create with: path_params: # ":id": 42398503298092380 query_params: # "limit": 20 data_params: # "body": {} expect: user sign up ok obtain: # _id: res.body_id - who: user1 what: user.login expect: user login ok
finally, write a simple js file,
var Scenario = ;var scenario = './config.yaml'; ;
and, run your test by typing
$ npm test
the result will look like
API
Test
test a scenario
return a promise
scenario-test.test(scenario)
.then(function(res){
// do your stuff
})
.catch(function(err){
// deal with error
});