Testowanie jednostkowe i sprawdzanie wartości zmiennej prywatnej

Piszę testy jednostkowe z C #, NUnit i Rhino Mocks. Oto odpowiednie części klasy, które testuję:

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;            
    }
}

Chcę przetestować wartości w insertItems po wywołaniu OnSave:

[Test]
public void OnSave_Adds_Object_To_InsertItems_Array()
{
     Setup();

     myClassToBeTested.OnSave(auditableObject, null);

     // Check auditableObject has been added to insertItems array            
}

Jaka jest najlepsza praktyka? Rozważyłem dodanie insertItems jako właściwości za pomocą publicznego geta lub wstrzyknięcie listy do ClassToBeTested, ale nie jestem pewien, czy powinienem modyfikować kod do celów testowania.

Przeczytałem wiele postów na temat testowania metod prywatnych i refaktoryzacji, ale jest to taka prosta klasa. Zastanawiałem się, jaka jest najlepsza opcja.

questionAnswers(6)

yourAnswerToTheQuestion