# n-mocker

> mock services and http api with nodejs

Latest version **0.1.15** (published 2019-02-28) · ISC license · 0 weekly downloads

## Install

```sh
npm install n-mocker
pnpm add n-mocker
yarn add n-mocker
bun add n-mocker
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.1.15 |
| Published | 2019-02-28 |
| First published | 2016-10-26 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 11 |
| Unpacked size | 11.3 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | wy |
| Maintainers | dzy321 |
| Keywords | mock, mocker, services, http |

## Links

- npm: https://www.npmjs.com/package/n-mocker
- Repository: https://github.com/dzy321/node-mocker
- Homepage: https://github.com/dzy321/node-mocker#readme
- Issues: https://github.com/dzy321/node-mocker/issues
- npm.io page: https://npm.io/package/n-mocker

## Dependencies (11)

- [koa](https://npm.io/package/koa.md) ^2.0.0
- [log](https://npm.io/package/log.md) ^1.4.0
- [fclone](https://npm.io/package/fclone.md) ^1.0.11
- [lodash](https://npm.io/package/lodash.md) ^4.17.2
- [bluebird](https://npm.io/package/bluebird.md) ^3.4.6
- [chokidar](https://npm.io/package/chokidar.md) ^1.6.1
- [http-proxy](https://npm.io/package/http-proxy.md) ^1.15.2
- [koa-morgan](https://npm.io/package/koa-morgan.md) ^1.0.1
- [koa-router](https://npm.io/package/koa-router.md) ^7.0.1
- [worker-farm](https://npm.io/package/worker-farm.md) ^1.3.1
- [koa-bodyparser](https://npm.io/package/koa-bodyparser.md) ^3.1.0

## Alternatives

- [pagerjs](https://npm.io/package/pagerjs.md) — 60 weekly downloads
- [whistle.savefor-mock](https://npm.io/package/whistle.savefor-mock.md) — 4 weekly downloads
- [@availity/mock-server](https://npm.io/package/@availity/mock-server.md) — 0 weekly downloads
- [@scotthuang/agent-knock-knock-pi](https://npm.io/package/@scotthuang/agent-knock-knock-pi.md) — 0 weekly downloads
- [@typestrong/ts-mockito](https://npm.io/package/@typestrong/ts-mockito.md) — 0 weekly downloads

## Recent versions

- 0.1.15 (latest) — 2019-02-28
- 0.1.14 — 2018-06-05
- 0.1.13 — 2016-11-23
- 0.1.12 — 2016-11-23
- 0.1.11 — 2016-11-23
- 0.1.10 — 2016-11-22
- 0.1.9 — 2016-11-22
- 0.1.8 — 2016-11-22
- 0.1.7 — 2016-10-27
- 0.1.6 — 2016-10-27
- 0.1.5 — 2016-10-27
- 0.1.4 — 2016-10-27
- 0.1.3 — 2016-10-26
- 0.1.2 — 2016-10-26
- 0.1.1 — 2016-10-26
- … 1 more at https://npm.io/package/n-mocker/versions

## README

# Node-Mocker

[![](https://img.shields.io/npm/v/n-mocker.svg?style=flat)](https://www.npmjs.com/package/n-mocker)

mock service and http api with nodejs.

## Features

- js config file,modify and effective
- mock services
- mock http api power by koa2

## Requirements

- Node v6.0+

## config

```javascript
module.exports = (log) => ({ //log inner mock server
  services: {  // mock service
    key: 4, // return number
    say(word) {
      log('sayaaa');
      return `hello1 ${word}!`;
    },
    promiseTest(n, k) { // return Promise
      return new Promise((resolve) => {
        setTimeout(() => {
          resolve(n + k);
        }, 10);
      });
    },
    say2(word) {
      throw Error('say2 Error!');
    },
  },
  proxyServers: [ // mock http,each will start a http server
    {
      port: 8081,
      routes: {
        '[GET]/api/shops/:shopId': { // return a object
          a: 'a',
          b: 'b'
        },
        '[GET]/api/items/:itemId': (ctx) => { // or a function
          ctx.body = ctx.params.itemId;
        },
      },
    },
    {
      port: 8082,
      routes: {
        '[GET]/api/test': {
          c: 'c',
          d: 'd',
          e: 'e'
        },
        '[GET]/api/site': (ctx) => {
          ctx.body = `siteId111:${ctx.query.id}`;
        }
      },
    },
  ]
});
```

## Use

```console
npm i n-mocker
```

```javascript
 const mocker = new Mock(path.resolve(process.cwd(), 'config-file.js'));  
 await mocker.start();
```

## Workflow

- `npm install`
- `npm run test`

---
_Source: https://npm.io/package/n-mocker · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
