私は複雑なオブジェクトを作成するクラスライブラリを作成したいと思いますが、可能な限りほとんど公開しないでください。私はそれを他のプロジェクトに含めることを望んでいます。そこにはこのライブラリへの呼び出しが1つしかありません。私は内部的に作成されたクラスのオブジェクトを返します。私は他人にこれらのオブジェクトを明示的に作成させたくないですが、このクラスライブラリ用のテストプロジェクトを作成したいと思っています。例えば内部クラスライブラリをテストするには?
:
var result = Manager.Instance.Create(definition)
これは、クラスライブラリへのアクセスのみでなければなりません。
定義パラメータに基づいて、要求されたインスタンスを作成するために異なるサブクラスを使用し、それに応じてプロパティを設定します。それゆえ、私は、何らかの形でテストによって、作成プロセス全体がうまくいっていることを保証したいと思います。しかし、結果オブジェクトの内部プロパティもあまり公開したくないので、私はこのpublicアクセスメソッドを使用するだけではテストできません。なぜなら、私はアサートするプロパティがないからです。
私はあなたが内部力学のためにテストすべきではないことを知っています。それは通常悪い設計であり、私もthis articleを通して読んでいましたが、ライブラリプラスユニットテストプロジェクトを作成し、このクラスに?ラッパーや何かで?
:
あなたはこのようにそれを使うのか? –
重複:http://stackoverflow.com/q/358196/492 –