はむはむエンジニアぶろぐ

365日エンジニアリング

【JavaScript】テストデータの作成が簡単になるライブラリ rosie

f:id:secret_hamuhamu:20160514011533j:plain
JavaScriptでテストデータの作成が簡単になるライブラリを試してみた。
rosiejs/rosie

factory for building JavaScript objects, mostly useful for setting up test data. Inspired by factory_girl

Rubyのfactory_girlというライブラリに影響を受けて作られたらしい。
まあ、Test Data Builderパターンですね。

インストール

$ npm install rosie

バージョン

  • rosie@1.3.0

つかってみた

サンプルコードはこんな感じ。

var Factory = require('rosie').Factory;

Factory.define('Employee')
  .sequence('id')
  .attr('name', '山田太郎')
  .attr('age', '18')
  .sequence('employee_no', function(i) { return 'EMP_' + i; })
  .attr('birth_day', new Date());

var Employee1 = Factory.build('Employee');
var Employee2 = Factory.build('Employee', {name: 'はむはむ', age: 20});

console.log(Employee1);
console.log(Employee2);


出力はこんな感じ。

{ id: 1,
  name: '山田太郎',
  age: '18',
  employee_no: 'EMP_1',
  birth_day: Sat May 14 2016 01:06:32 GMT+0900 (JST) }
{ name: 'はむはむ',
  age: 20,
  id: 2,
  employee_no: 'EMP_2',
  birth_day: Sat May 14 2016 01:06:32 GMT+0900 (JST) }

便利!!
他にも定義を継承することができたりする。
詳しくは、rosieのUsageへ。