読み書きプログラミング

日常のプログラミングで気づいたことを綴っています

Advent Calendar 6 - Meteorでのユニットテスト

Meteorでのユニットテストは、Meteorの部分に関してスタブを作って、Mochaで流すのが一番よさそうです。

すいません、以下、CoffeeScriptでのコーディングを前提にしています。

share = {}
Meteor =
    require: require
    users:
        findOne: ->
    methods: ->
    startup: ->
    publish: ->

HTTP =
    get: -> content: ''

WebApp =
    addHtmlAttributeHook: ->

Accounts =
    onCreateUser: ->

こんな感じのstub.coffeeを用意して、テストの対象のファイルとテストコードのファイルをまとめてjsにコンパイルします。
stub.coffeeがMeteor固有のメソッドをスルーするので、テスト対象のコード部分ではrequireのみ動作し、テストコードを実行することになります。