2014-01-01 hubot-urlをつくった
hubot-urlをつくった。
目的は、HipChatにてURLを貼り付けたときに当該Webページのタイトルを表示してくれない問題を解決するためである。
解決策として、Hubotを使うことにした。hubot-hipchatアダプターでHipChatとHubotとを連携させたうえで、Hubotスクリプトとして「発言からURLにマッチするものがあれば、自動でfetchし、そのタイトルとog:imageとを通知するもの」をつくった。
それがhubot-urlである。
今回のスクリプトをつくる過程でいくつかHubotスクリプトのテストについて学んだ。
Hubotスクリプトのテストコードを書く場合にHubotを動かしたいことがある。その場合の注意点を書いておく。
HubotはCoffeeScriptで書かれているため、事前にrequire('coffee-script')
しておく必要がある。npm install --save-dev hubot
すればテスト用にHubotへの依存関係を設定できる。しかし、require('hubot');
するだけではエラーになってしまう。HubotはCoffeeScriptで書かれているため、事前にrequire('coffee-script');
しておき、require
が.coffee
を解釈できるようにする必要がある。
Hubotは何らかのアダプターを要求する。そこでモックオブジェクトを設定すると良い。具体的にはhubot-mock-adapterを使うと良い。使いかたはリンク先を参照。npm install --save-dev hubot-mock-adapter
しておき、それを使って、テストコードを書く。正直なところ、機能が弱すぎて、アダプターの知識がないと使えないし、面倒くさい。もっと用途を限定して、楽に使えるものをつくるのも良いかもしれない。
2014年はJavaScriptの年になると思っていて、その一歩をHubotやHubotスクリプトにするつもりだ。
20 min.