【mock service系列】运用 Rosie mock JS数据

Rosie? factory_girl?

假如说是纯真定名上面,是受一幅画的影响,画内里的妹子叫Rosie;
假如是项目灵感实际上是来自于factory_girl,factory_girl在github以及segmentfault上的材料都有一些,百度也找获得,然则关于Rosie的实在不多,所以就想share下。
《【mock service系列】运用 Rosie mock JS数据》

What

Rosie的作用重要就是构建一些js的数据对象,大部份运用场景也是在测试中。

虽然这部份和mock service没有直接的关联,然则由于在全部涉及到api的test过程当中(非单元测试),我们的套路平常是用东西天生假的数据对象(构造和实在的一致),然后把数据传给对应的mock service,所以临时也把本文放在mock service 系列。

How

平常运用npm或许yarn 增添依靠并装置js包就能够运用。

详细运用时刻,平常会有一个factory用来构建,别的一个在须要数据的处所举行直接引入。优点是数据构建逻辑和营业处置惩罚的逻辑能够断绝。
在object builder 部份

import { Factory } from 'rosie'
export default new Factory()
  .sequence('id')
  .attr('Type', () => 'User')
  .attr('Name', {first: 'Yangyang', last:'Cao')
  .attr('Birthday':'1992-01-01')
  .attr('Job', {company:'TW',position:'Developer'})

在运用的部份

 import ProfileFactory from './fixtures/profile'
 beforeEach(() => {
    parameters = {
      ID: '00124B00000zU5f17AE',
      Profile: ProfileFactory.build()
    }
  })

其他的运用方法也是存在的,详细请参考github

Why

为何运用,本人是由于之前每次在before each 或许本身写builder太麻烦了,最常见的是,在一个已有的obeject上面增添新的属性,烦不胜烦。

When

当你厌倦已有的无论是字面量天生mock data,照样零丁数据builder 天生mock data的体式格局。
觉得用Rosie更相符语义以及函数头脑。

瑕玷

临时没发明,增添了新的依靠算吗?

    原文作者:Yangyang
    原文地址: https://segmentfault.com/a/1190000010236249
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞