2018.01.23 - EVENT REPORT APIStudy #13のLT(Lightning Talk)に、弊社 金井 大輝が登壇いたしました

APIStudy #13のLT「コンシューマ駆動契約やってみた」に、弊社 金井 大輝が登壇いたしました APIStudy #13のLT「コンシューマ駆動契約やってみた」に、弊社 金井 大輝が登壇いたしました

去る2017年12月19日(火)に開催されたAPIStudy #13のLT(Lightning Talk)にて弊社 金井 大輝が登壇し、「APIとの結合テスト:コンシューマ駆動契約やってみた」と題して、お話をさせていただきました。


第一部:LT(Lightning Talk)
コンシューマ駆動契約:APIとの結合テスト自動化の方式

「APIとの結合テスト:コンシューマ駆動契約やってみた」と題して、
コンシューマ駆動契約、APIとの結合テスト自動化の方式についてお話をさせていただきました。

APIを変更した際には、アプリケーションの破損を防ぐために結合テストを実行します。
以前は、アプリケーションからMOCKを使わずにテストを書いていましたが、
アプリケーションからAPIをテストするために、API側の環境を作らなければいけないという課題があります。
そんなときに見つけた書籍に書いてあったのがこの「コンシューマ駆動契約」でした。

コンシューマ駆動契約は、基本的に以下の2ステップで行われます。

ステップ1:コンシューマテスト

アプリケーション(コンシューマ)側からのリクエストに対するレスポンスのテストを書きます。
その際にレコードというテキストファイルを出力します。

ステップ2:プロバイダテスト

API(プロバイダ)のテストは、ステップ1で出力したテキストファイルに書かれた契約内容を満たす機能を持っているか検証します。

まとめ
  • ・NoMOCKでテストを書くよりも、コンシューマ駆動契約を使った方が、セットアップの点で幾分か楽

APIStudy #13のLT「コンシューマ駆動契約やってみた」に、弊社 金井 大輝が登壇いたしました APIStudy #13のLT「コンシューマ駆動契約やってみた」に、弊社 金井 大輝が登壇いたしました

第二部:ディスカッションにも参加させていただきました

第二部では、第一部のLTの内容や、各々の意見をもとにチームを作り、ディスカッションを行いました。30分程のディスカッションの後には、最後にチームごとで話し合った内容について発表を行いました。

今回のテーマ
  • ・APIをHUBにしたサービス
  • ・メタデータ
  • ・更新履歴
  • ・制御系APIを広める方法

それぞれのテーマについての発表、APIstudy #13の詳しいレポートは、APIStudy 公式サイトの「APIStudy #13開催報告」を、ご覧ください。
APIStudy 公式サイト #13 開催報告


また、当日金井が使用したスライド「APIとの結合テスト:コンシューマ駆動契約やってみた」を、SlideShare にて公開しています。
ぜひともご覧いただき、ご活用下さい。

APIStudyとは APIStudyとはAPI(WebAPI)を提供するひと、利用するひとが集まり、APIに関する様々なノウハウ、疑問、課題を共有し「APIのベストプラクティスとは」を考えていく勉強会です。
APIStudy 公式サイト https://apistudy.connpass.com/