はじめに あるモジュールを作成した時、当然ながら(ですよね?)このモジュール(以降テスト対象モジュールと呼びます)を何らかの方法でテストする必要があります。テスト対象モジュールが別のモジュール(以降依存モジュールと呼びます)に依存している場合、 テスト対象モジュールと依存モジュールを一緒にテストする 何とかして依存モジュールをテスト対象モジュールと切り離し、テスト対象モジュールを単独でテストする。 一般的に、1は結合テスト、2は単体テストと呼ばれます。 この記事では、単体テストで何とかして依存モジュールを切り離す、言い換えるとテストのために別の依存モジュール(依存性)を注入する方法を紹介します。 一応記事タイトルをC++としていますが、いくつかは別の言語でも使えるはずです。 注入対象 テスト時に注入したい対象について説明します。 ロジック 例えばDBアクセスやネットワークアクセスを行うため