---
title: "テストコードの実装 | C#もぐもぐ"
description: "C#をもぐもぐしているblog"
url: "https://blog.223n.tech/posts/34/"
---

# テストコードの実装

2017年3月2日

[C#](https://blog.223n.tech/tags/C%23/) [Program](https://blog.223n.tech/tags/Program/)

テストコードはちょっとした修正結果の担保を簡単に取ることができる非常に心強い味方です。

しかし、テストコードをいざC#で書いていると、少し困ったことに遭遇してしまいました。

まず、現在のVisual Studioでは、テスト用のプロジェクトを作成して、対象のプロジェクトを参照します。

そのため、通常はテスト対象のメソッドなりプロパティは、外部から触れるpublicなどに限られてしまい、
privateは外部からアクセスしてのテストはできません。

（日本という国は恐ろしいもので、動的参照を用いて参照しているexeやdll内のprivateなメソッドやプロパティ、
フィールドを参照して書き換え、テストするぜﾋｬｯﾊｰな悪用できちゃうような技術を作ってしまう人も居るわけで…）

では、外部からアクセス可能な範囲でテストをしようとするのですが、
通常、publicを避けているのでテストしたいメソッドがprivateだったりして拡張メソッドや困ってしまいます。

（先の動的参照によるテストもありますが、動的参照はインテリセンスを殺してしまい、
非常に保守性が低下しがちで、誰も引き継げなくなってしまうという以前にナイワーを感じる今日この頃。）

自分自身、このテストの実装という経験や知識が弱いと感じているのですが、
いい資料はないものでしょうか…

[記事一覧に戻る](https://blog.223n.tech/posts/)
