以下是有关我的开发环境的信息:
MongoDB 3.0.0
MongoDB C#驱动程序版本1.7.0.4714
Microsoft Visual Studio Professional 2013
.NET Framework 4.0
我们即将完成首次发布。我们使用领域驱动设计方法开发了应用程序。 不幸的是,我们没有写任何单元测试用例。
我们并未真正遵守适当的编码惯例,以便在未来实现灵活性。例如,在以下代码中我们没有使用接口进行数据库连接,但我们只是直接实例化了数据库连接类:
public class BLLCs_BookStore_Catalog : ICs_BookStore_Catalog
{
public IEnumerable<ELLCsBook> GetAParticularBook(ObjectId BookIdArg)
{
IMongoQuery qry = Query<ELLCsBook>.EQ(l => l.Id, BookIdArg);
return DBConnection.database.GetCollection<ELLCsBook>(TableNameConstants.BooksTableName)
.Find(qry);
}
}
可悲的是,有一吨代码看起来像上面提到的代码。
问题是,重构现有代码以使用接口需要花费大量的精力,时间和金钱。因此,整合单元测试将是一个真正的痛苦。
有没有人对我们如何进行单元测试有任何建议?
答案 0 :(得分:2)
我强烈建议您使用Typemock Isolator。它不仅可以处理接口,因此无需花费金钱和时间进行重构。
此外,它可以根据您的代码制作单元测试建议,因此也可以节省一些时间。
有一个很好的答案/示例,说明如何使用Typemock here模拟对mongo数据库的调用。
希望它有所帮助!