Hubotの追加機能作成をテストで楽にするおおたの物置Hubotの追加機能作成をテストで楽にする2014-11-10hubotTweetHubotで追加機能を作るときに一番大変なのは、やはりテストの部分だと思います。面倒な手順を踏むことになります。普通に起動するとエラーも吐いてくれないため、デバッグは非常に困難です。テストを書いて開発をする場合、メッセージ送信やメッセージのデータ取得など、Hubotに依存する部分をstubで置き換えるのはとても面倒な作業です。そこで、作りたい機能をパッケージ化して作成することで、トライアンドエラーをする部分を最低限に絞って開発することができました。Hubot用パッケージの構成Hubotはpackage.jsonのmainに指定したファイルをロードしてくれるため、ここにhubot用のスクリプトを書くことで、Hubotスクリプトをnpmパッケージで管理できます。以下のようにhubotスクリプトから、処理をまとめたオブジェクトの特定のメソッドを呼び出すことで、Hubotの連携部分と実際の処理を分けることができます。arg2)フォルダ構成は以下のようになります。test-package-class.coffeeこのように構成し、package-classに対してテストを作成することで、Hubot固有の部分を最小限に減らし、通常のnpmパッケージのように開発できました。前述の通り、hubotとやりとりをするhubot-commandに対してテストをするのは手間がかかります。手作業でやってしまう方が簡単で早いです。参考hubot-scfesはこの方針に則って作ったため、参考になるかもしれません。ota42yC++/Ruby/RoR/golang/rust/flutter。