パラメタライズドテストケースをGoogleSpeadsheetで管理する
**google-spreadsheets-parser**を使って, スプレッドシートで管理しているデータをテストで使用する. 背景:データの二重管理をなくしたい あるJSモジュールのパラメタライズドテストコードを書いていた. パラメータとそのテスト結果はGoogleSpreadsheetで表管理していて,ビジネス・エンジニア共に使用していた. はじめはSpreadSheet上にそれらの値をJSで扱える形式にconcatenateとかしてコピペしていたが, バリエーションが膨大になり,データ二重管理の問題が発生しメンテナンスに難があった. 普通にパラメタライズドテストを書くとこんな感じ grunt x karma x jasmine の環境構築手順はこちら. # src/user.coffee class User constructor: (@NAME, @age) -> canDrink: -> parseInt(@age) >= 20 # src/userSpec.coffee describe "User", -> describe "#canDrink", -> assertCanDrink = (name, age, canDrink) -> it "Age:#{age}, CanDrink:#{canDrink}", -> user = new User(name, age) expect(user.canDrink()).toBe(canDrink) # ここのバリエーションが増えてくると管理がツラい target = [ {no: 1, name: 'User1', age: 18, canDrink: false} {no: 2, name: 'User2', age: 19, canDrink: false} {no: 3, name: 'User3', age: 20, canDrink: true} {no: 4, name: 'User4', age: 21, canDrink: true} {no: 5, name: 'User5', age: 22, canDrink: true} ] for t in target assertCanDrink(t....