Я пишу модульные тесты с С#, NUnit и Rhino Mocks. Вот соответствующие части класса, который я тестирую:
public class ClassToBeTested
{
private IList<object> insertItems = new List<object>();
public bool OnSave(object entity, object id)
{
var auditable = entity as IAuditable;
if (auditable != null) insertItems.Add(entity);
return false;
}
}
Я хочу проверить значения в insertItems после вызова OnSave:
[Test]
public void OnSave_Adds_Object_To_InsertItems_Array()
{
Setup();
myClassToBeTested.OnSave(auditableObject, null);
// Check auditableObject has been added to insertItems array
}
Какова наилучшая практика для этого? Я рассмотрел добавление insertItems в качестве свойства с публичным get или введением List в ClassToBeTested, но не уверен, что я должен модифицировать код для целей тестирования.
Я прочитал много сообщений о тестировании частных методов и рефакторинга, но это такой простой класс, я задавался вопросом, что является лучшим вариантом.