Unità di test e verifica del valore della variabile privata

Sto scrivendo unit test con C #, NUnit e Rhino Mocks. Ecco le parti rilevanti di una class che sto testando:

public class ClassToBeTested { private IList insertItems = new List(); public bool OnSave(object entity, object id) { var auditable = entity as IAuditable; if (auditable != null) insertItems.Add(entity); return false; } } 

Voglio testare i valori in insertItems dopo una chiamata a OnSave:

 [Test] public void OnSave_Adds_Object_To_InsertItems_Array() { Setup(); myClassToBeTested.OnSave(auditableObject, null); // Check auditableObject has been added to insertItems array } 

Qual è la migliore pratica per questo? Ho preso in considerazione l’aggiunta di insertItems come proprietà con un get pubblico o l’iniezione di un elenco in ClassToBeTested, ma non sono sicuro che dovrei modificare il codice a scopo di test.

Ho letto molti post su test di metodi privati ​​e refactoring, ma questa è una class così semplice mi sono chiesto quale sia l’opzione migliore.