我有一個測試文件,我在其中存根測試類的依賴關係(主要是存儲庫)。存儲庫的 例存根(從約200線縮短):如何避免爲類似的存根重複代碼?
internal class doerRepository : IDoerRepository
{
public IQueryable<Doer> ActiveDoers
{
get
{
Account account = new Account();
//Property setting for account
Zone zone = new Zone();
//Property setting for zone
Doer doer = new Doer();
doer.Zone = doerZone;
doer.Account = doerAccount;
var list = new List<Doer>();
list.Add(doer);
return list.AsQueryable();
}
}
}
和測試方法如下所示:
[Test]
public void IsValidDoer_DoerIsValid()
{
var doerValidation = new DoerValidation(new doerRepository());
//Assert things
}
的問題是,這種實體環境(它存根大約一半的數據庫)是我的基準。我有大約25個測試來製作這個測試文件。對於每個測試,我必須稍微更改存根(嘗試使用無效區域,無效帳戶等)。我最終複製粘貼200行來改變一個小東西(我必須重新命名這個類)。
是否可以重複使用存根代碼並進行相關更改? 我嘗試這樣做,但我改變的價值不是用一些隔離框架更新
internal class doerRepository2 : IDoerRepository
{
public IQueryable<Doer> ActiveDoers
{
get
{ List<Doer> list = new doerRepository().ActiveDoers.ToList();
list.First().Account = new Account();
return list.AsQueryable();
}
}
}
Awsome,這有助於! – Mathieu 2012-03-15 03:43:18