Skip to main content

気軽にテストできないと開発つらい

今、GitHub App を元にした Webhook を受けるアプリケーションを作っているのですが、テストがしづらくて辛い。
自分しか使っていないので、本番をテスト用イメージに書き換えて、テストして、落ちた!修正!を繰り返しているのですが、この一連のサイクルが6, 7分かかってしまうので大変。
サイクルを細かく回すために、以下のような取り組みを進めています。

  1. GitHub App (Webhook) 依存の処理とそれ以降にコードベースを分離する
  2. 「Webhook 以降」の処理を単体で切り出したコマンドを用意する
  3. Webhook で受ける情報を切り出したコマンドに食わせることで動作ができるようにする
  4. 各種結合面をインターフェースに変更し、それぞれの工程でユニットテストが組めるようにする

どうせあとから苦労するんだから最初の設計で頑張れよ、という話ではあるんですが、ガーッと勢いに任せて書くのもいいですよね。と言い訳をしつつ、苦労しながら作り変えを頑張ります。
この成果物に関してもブログにしたいと思っている所存です。