n-mock
Setup a mock server easily.
Why use this module?
- Build a bridge between Frontend and Backend
- This allows for parallel development
Usage
To use n-mock, you has two choices: Cli or Middleware.
Use as command line
Step 1 : install globally.
$ npm install -g n-mock
Step 2 : create mock json file
After create a server, you can add some json file to mocks dir, for example:
my-project├── app.js├── mocks│ ├── users│ │ ├── 1.GET.response.200.json│ │ ├── 1.GET.response.401.json│ │ └── 2.GET.response.200.json│ ├── users.GET.response.200.json│ ├── users.POST.request.json│ ├── users.POST.response.200.json│ ├── users.POST.response.422.json│ └── users.PUT.response.200.json└── package.json
Step 3 : start mock server
$ cd my-project/mocks
$ n-mock --baseDir .
And boom!! You will see something in you browser.
Use as A middleware for Node.js (browser-sync、express、 connect).
Step 1 : create a server
if browser-sync
var mock = ;var gulp = ;var browserSync = ; // Static servergulp;
if express
var express = ;var mock = ; var app = ;app;app;
if connect
var connect = ;var mock = ; var app = ;app;app;
Step 2 : create mock json file
After create a server, you can add some json file to mocks dir, for example:
my-project├── app.js├── mocks│ ├── users│ │ ├── 1.GET.response.200.json│ │ ├── 1.GET.response.401.json│ │ └── 2.GET.response.200.json│ ├── users.GET.response.200.json│ ├── users.POST.request.json│ ├── users.POST.response.200.json│ ├── users.POST.response.422.json│ └── users.PUT.response.200.json└── package.json
Step 3 : enjoy it
After start your server, you can use it.
For example 1 :
curl -i http://localhost:9999/users?_status=200
will get response:
HTTP/1.1 200 OKContent-Type: application/json;charset=UTF-8Date: Mon, 27 Jul 2015 16:23:34 GMTConnection: keep-aliveTransfer-Encoding: chunked [{ "id": 1, "name": "foo", "email": "foo@gmail.com",}, ]
_status=200
mean that you get a response with http status code 200. By default, _status
equal to 200
. so, curl http://localhost:9999/users
will get a collect response too.
For example 2 :
curl -X POST http://localhost:9999/users?_status=422
will get response:
HTTP/1.1 422 Unprocessable EntityContent-Type: application/json;charset=UTF-8Date: Mon, 27 Jul 2015 16:22:45 GMTConnection: keep-aliveTransfer-Encoding: chunked
You can see the Complete Example: