[Session title]: net/http/httptest.Server のアプローチをテスト戦略に活用する
Closed this issue · 0 comments
sivchari commented
Speaker
Ken'ichirou Oyama
SNS Accounts
Twitter: @k1LoW
Description
net/http/httptest.Serverは、 go test
実行時に実際にHTTPサーバを起動することでクライアント-サーバ間のテストをシンプルに実現します。
このnet/http/httptest.Serverのアプローチは、WebアプリケーションのテストであればWebアプリケーションを構成するレイヤーの外側からHTTPリクエストを送信するテストができますし、HTTPクライアントのテストであればHTTPクライアントを構成するレイヤーの外側にスタブサーバを簡単に用意できます。しかも go test
の中で完結しており、テストサイズによる分類における他のミディアムテストと比べても安定しているといえるアプローチです。
発表者は、プロダクトの新規開発時のアーキテクチャの未完状態に対抗する手段として、net/http/httptest.Serverのアプローチをより広くテストに活用する方針を取りました。
これは、アプリケーションの外側を活用したのテストを厚くすることで、アプリケーション内部のアーキテクチャ変更に強くすることを目的としています。
本発表では、「net/http/httptest.Server のアプローチ」のメリットやデメリット、そのデメリットの緩和策、実際の効果などを紹介したいと思います。
Session type
Short Talk (20min)