Skip to content
This repository was archived by the owner on May 17, 2026. It is now read-only.

Latest commit

 

History

37 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This repository has been migrated. For ongoing updates, please see https://github.com/thinkjs/thinkjs/tree/master/packages/think-mock.

think-mock

Mock data for ThinkJS3.

Precondition

think-mock need Babel support! For:

  • @babel/plugin-proposal-class-properties
  • @babel/plugin-proposal-decorators

is used!Replace them with corresponding plugin if babel6 is used in your project!

  1. Open Babel transform (Both development or production enviroment)
  2. Add plugin to babel config

How to Use

  1. Add extend support
// think.ROOT_PATH/src/config/extend.js 
const mock = require('think-mock');

module.exports = [
  mock(think.app),
];
  1. Config mock path, or use default
  // config.js
  mock: path.join(think.ROOT_PATH, 'mock'), // default
  1. Create mock file
  // think.ROOT_PATH/mock/user/index.js
  module.exports = {
    mock: 'This is mock data.'
  }
  1. Add mock to action or method
// controller/user.js
const { mock } = think.Controller.prototype;
module.exports = class extends think.Controller {
  @mock
  indexAction() {
    // mockFile think.ROOT_PATH/mock/user/index.js
    return this.json({ data: 'This is real data.' });
  }

  @mock getUserInfo() {
    // mockFile think.ROOT_PATH/mock/user/getUserInfo.js
  }
}

// service/sms.js
const { mock } = think.Service.prototype;
module.exports = class extends think.Service {
  @mock
  sendMessage() {
    // mockFile think.ROOT_PATH/mock/service/sms/sendMessage.js
    return { data: 'This is real data.' };
  }
};

Production

Mock auto close when you are not at devlepment enviroment.

You don't need remove decorator mock, but is better if you do.

About

Mock for Thinkjs

Resources

Stars

0 stars

Watchers

11 watching

Forks

Releases

Packages

Used by

Contributors

Languages