我很抱歉,如果這是重複的。我已經被賦予了爲該方法增加一些覆蓋範圍的任務,並被告知模擬私人List<string>
財產。我的問題是:有沒有辦法測試私人領域?有什麼好的做法來測試/注入私人領域的C#
我找到的解決方案是添加新的構造函數只是爲了注入這個私人列表。我不確定這是否是正確的方式,所以任何幫助將不勝感激。
public class Class1
{
public Class1(List<string> list)//This is just for Unit Testing
{
list1 = list;
}
private readonly InjectRepository _repository;
//
public Class1(InjectRepository repository)//This is the actual constructor
{
_repository = repository;
}
private List<string> list1 = new List<string>();
public void Do_Complex_Logic()
{
//list1 will be set with items in it
//Now list1 is passed to some other instance
}
}
可能重複[如何測試通過公共方法修改的私有字段](http://stackoverflow.com/questions/3375997/how-to-test-private-fields-that-are-modified-via-公共方法)另見http://stackoverflow.com/questions/8618710,http://stackoverflow.com/questions/6694715等 – Gishu 2012-07-20 05:19:23