
我正在使用C#Asp.Net开发的一个系统(一个巨大的,巨大的,绝对成长的无论如何系统).我正在尝试开始创建一些单元测试来启动重构(相信,它需要重构(有一些控制器有10k,12k线).
问题是这个系统中的很多东西都与数据库有关(系统与数据库紧密耦合).数据库上下文在很多代码中实例化,而不是注入.
因此,我现在的观点是将一些数据模拟到本地MDB文件中以重构代码并创建具有自己的MDB的单元测试(具有所有数据库结构,但仅包含他将使用的数据).
我在做什么呢?像这样的东西:
[TestMethod()]public voID Anytest(){ var dbLogger = new DbLogger(); //this class is not created,it's just an example. dbLogger.Start(); WorstWrittenMethodEver(); //this method will call any other methods insIDes,//a couple of then //and I really don't kNow the order and the //complexity (much times very high),and this will probably //instantiate the DataContext a lot of times and do //a lot of data retrIEval. db.StopLog(); Console.Writeline(db.DataRetrIEved); //And in this line I will print all the tables //and data retrIEved between this two points.} 之后,我将获取该数据,模拟到一个MDB文件中,并重构上面的单元测试以获得真正的单元测试.
反正有吗?
解决方法 看起来这不是一件容易的事.而且我认为你应该使用一些受欢迎且经过测试的库或工具.我的建议是使用 MiniProfiler.它允许捕获所有SQL查询(还包括对linqTosql的支持).它具有良好的用户界面和API,可以在您的代码中进行交互.实际上,要获取所有SQL查询数据,您可以使用以下方法:MiniProfiler.Current.GetsqlTimings();总结
以上是内存溢出为你收集整理的有没有办法在C#代码中的两点之间检索所有数据(Linq-to-sql)全部内容,希望文章能够帮你解决有没有办法在C#代码中的两点之间检索所有数据(Linq-to-sql)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)