我有一个测试文件,我在其中存根测试类的依赖关系(主要是存储库)。存储库的 例存根(从约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