他のクラスからの依存関係がほとんどあるクラスをテストしています。これを解決するために、私はモックを使用します。これまでのところ、これは非常にうまく機能しました。
[Test]
public void DataField_Gets_Properly_Created()
{
// Arrange all those mocks
_dataField = new DataField(dependency1, dependency2, dependency3);
Assert.NotNull(dataField.Id);
// other assertions ...
}
[Test]
public void DataField_Gets_Properly_Saved()
{
var entityList = new List<IEntity>();
var dfId = Guid.NewGuid();
_dataField.SetValue(true, entityList, dfId);
Assert.True(_datenFeld.ValueBoolean);
// other assertions
}
ご覧のとおり、私はこのプライベート_dataField
変数を使用しています。ご存知のとおり、最初のテストでデータフィールドを作成できるかどうかを実際にテストします。最初の方法で作成されたばかりの2番目のテストで同じデータフィールドを使用するのは悪いアプローチですか?これはあまりクリーンなコードではないと思います。
私が持っていた2番目のアイデアは、でこのデータフィールドを作成することでした[Setup]
。これもあまりきれいではありません。セットアップで作成し、作成できるかどうかを後でテストする必要があるためです。よくわかりません。
その後、実際のクラスをテストするためにデータフィールドのインスタンスを必要とするさらに多くのテストが行われる可能性がありますDataField
。