近年、新興言語とは思えない簡潔さや実行時パフォーマンスの良さなどからGoが注目を集めています。サイバーエージェントのメディアディベロップメント事業本部でもGoの導入を進めており、Goアプリケーションの開発を通じてその利点や欠点などを身を持って学ぶことができました。この記事では、Goアプリケーションの自動化単体テストを行うにあたって、テストの実施を容易にするにはどのような設計を行うべきかを、依存性の分離という観点から紹介します。依存性の分離は、単体テストにおいて確保しなければならない要素の一つです。依存性の分離を行うことによって、一つのテストで実行される本番コードの範囲を制限することができ、テストが失敗したときの原因究明が容易になります。また、テストの再現性の担保も容易になります。 はじめに 初めまして。株式会社サイバーエージェント ソフトウェアエンジニアの大澤翔吾と申します。私の所属してい