我正在测试一个类,它与其他类有很多依赖关系。为了解决这个问题,我使用了模拟。到目前为止效果很好。
[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
变量。你知道的,我实际上是在第一次测试中测试是否可以创建数据字段。在第二个测试中使用相同的数据字段是不是一种不好的方法,它刚刚在第一个方法中创建?我认为这不是很干净的代码。
我的第二个想法是在[Setup]
. 这也不是很干净,因为我应该如何在设置中创建它并在之后测试它是否可以创建?我很困惑。
之后可能是更多的测试,它们都需要一个数据字段的实例来测试实际的类DataField
。