だから私はファクトリクラスを持っていて、ユニットテストが何をすべきかを考えようとしています。この質問から、返されるインターフェイスが、私が期待する特定の具体的なタイプであることを確認できました。
工場が具体的なタイプを返しているかどうかを確認するにはどうすればよいですか(現時点では、インターフェイスを使用する必要がないため)?現在、私は次のようなことをしています。
[Test]
public void CreateSomeClassWithDependencies()
{
// m_factory is instantiated in the SetUp method
var someClass = m_factory.CreateSomeClassWithDependencies();
Assert.IsNotNull(someClass);
}
これに伴う問題は、がAssert.IsNotNull
やや冗長に見えることです。
また、私のファクトリメソッドは、次のようにその特定のクラスの依存関係を設定している可能性があります。
public SomeClass CreateSomeClassWithDependencies()
{
return new SomeClass(CreateADependency(), CreateAnotherDependency(),
CreateAThirdDependency());
}
そして、ファクトリメソッドがこれらすべての依存関係を正しく設定していることを確認したいと思います。public/internal
これを実行して、単体テストでチェックする依存関係プロパティを作成する他の方法はありませんか?(私はテストに合うようにテスト対象を変更することの大ファンではありません)
編集:Robert Harveyの質問に答えて、私はユニットテストフレームワークとしてNUnitを使用しています(しかし、それがあまり大きな違いを生むとは思わなかったでしょう)