草庐IT

单元化

全部标签

C#:使用私有(private)静态成员进行单元测试?

我有一个类的结构是这样的:privatestaticDictionary_historyManagers=newDictionary();让我们说2种方法:publicvoidAddSth(){_historManagers.Add(newContract(),newPriceHistoryManager());}publicintCountDic(){return_historyManagers.Count();}问题:当运行单元测试时,没有办法“重置”字典,当我用类的单独实例创建多个单元测试时,“CountDic”会给出不可预测的结果,我无法测试监听。问题:这通常被认为是一种“坏”

c# - 在单元测试中确定线程安全

我正在编写一个多线程应用程序,我也在尝试找出如何为其编写合适的单元测试。我认为这可能是关于如何最好地做到这一点的另一个问题。还有一个问题,我有一个像下面这样的类,知道它不是线程安全的,想在单元测试中证明它,但不知道如何去做:publicclassMyClass{privateListMyList=newList();publicvoidAdd(stringData){MyList.Add(Data);//Thisisnotthreadsafe!!}} 最佳答案 证明某些东西是线程安全的是棘手的——可能很难停止问题。您可以证明竞争条件

c# - 用与代码不同的语言编写单元测试的缺点是什么?

单元测试与生产代码有不同的要求。例如,单元测试可能不必像生产代码那样高效。也许有时用更适合编写单元测试的语言编写单元测试是有意义的?我想到的具体示例是使用C#编写应用程序,但使用IronRuby或IronPython编写测试。在我看来,使用IronPython和IronRuby作为测试语言比C#代码有几个优势:模拟在动态类型语言中可以更简单IronPython具有较少的单元测试不需要的冗长类型注释通过在解释器中键入命令,无需重新编译即可实验调用测试使用两种不同的语言进行测试和生产代码的权衡是什么? 最佳答案 我想到的缺点:根据语言的

c# - 单元测试和 Entity Framework

我是EF的新手,我想知道使用SQLServer数据库创建EF的最佳方法是什么。之后我想测试CRUD操作。EF是以TDD方式实现的,我对这些存储库模式、模拟上下文、假模式等感到困惑。EF中的增删改查操作,都会测试哪些东西?(DbContext,SaveChanges()...需要测试吗?)那么关于如何使用基于EntityFramework的组件进行单元测试有什么想法吗?(我正在VisualStudio2012、ASP.NETMVC4中检查所有这些) 最佳答案 假设您有2层解决方案MyApp.WebMyApp.Data在你的数据层你会有

c# - 使用 .NET Core MSTest 运行单元测试 : "The following TestContainer was not found..."

我到处搜索,找不到这个异常的答案。Thisquestion是我搜索时出现的主要问题,但它没有解决这个问题。[7/8/20186:22:22PMInformational]Executingtestmethod'CoreScraper.FlyerScraper.GetAllCurrentFlyers'[7/8/20186:22:22PMError]System.InvalidOperationException:ThefollowingTestContainerwasnotfound'C:\Users\Username\Documents\VisualStudio2017\Project

c# - 使用 epplus 将 Excel 单元格转换为百分比

我想将中的值转换为小数点后两位。我正在使用EPPlus如果值为66.6666667并且我想将其显示为66.66%我尝试了以下代码,但它不起作用。foreach(vardcindateColumns){sheet.Cells[2,dc,rowCount+1,dc].Style.Numberformat.Format="###,##%";}请帮忙。 最佳答案 我找到了!我试过了foreach(vardcindateColumns){sheet.Cells[2,dc,rowCount+1,dc].Style.Numberformat.Fo

c# - 在教新开发人员时,我应该从单元测试开始吗?

关闭。这个问题是opinion-based.它目前不接受答案。想改善这个问题吗?更新问题,以便可以通过editingthispost用事实和引文回答问题.8年前关闭。Improvethisquestion我目前正在使用.Net3.5中的Silverlight、WCF、EnterpriseLibrary、Unity、LinqToSql、NUnit、RhinoMocks等技术进行项目我正在培训一个新的开发人员,他对VB脚本和SQL有一定的经验,但没有接触过.Net几乎100%的代码库都有单元测试覆盖率,但似乎让新开发人员开始编写单元测试太多了,有足够的东西让他了解,而不会增加单元测试和模拟

c# - Server.MapPath 的单元测试

我有一个方法。从硬盘中检索文档。我无法通过单元测试对此进行测试。它总是抛出异常无效的空路径或其他东西。如何测试。我临时为单元测试创​​建了session。但我不能为这个Server.MapPath。怎么做? 最佳答案 您可以在Server.MapPath上使用依赖注入(inject)和抽象publicinterfaceIPathProvider{stringMapPath(stringpath);}生产实现将是:publicclassServerPathProvider:IPathProvider{publicstringMapPa

c# - 回收 ListView 中这个看不见的、吞噬性能的单元格是什么?

所以我在使用ListView的Xamarin.Forms应用程序(在Android上)中遇到了性能问题。原因是,因为我在ListView的ItemTemplate中使用了一个非常复杂的自定义控件。为了提高性能,我在自定义控件中实现了很多缓存功能,并将ListView的CachingStrategy设置为RecycleElement。性能并没有变得更好。所以我深入挖掘,试图找出原因。我终于注意到了一些非常奇怪的错误,并将其隔离在一个新的空应用程序中。代码如下:主页.xaml测试控件.cspublicclassTestControl:Grid{staticintid=0;intmyid;p

c# - 如何发现哪个测试单元检查了哪些代码行?

我在玩弄NUint,希望能找到一种方法来实现哪一行代码通过了哪个测试。假设我有一个方法,我对其进行了3次测试。有没有办法找出哪个测试检查哪一行代码?使用NCover,我知道您可以找出哪些线路已经过测试,哪些还没有。但是,您真的看不到哪个单位检查了该代码。它在处理大量测试时非常有用...... 最佳答案 JetBrainsdotCover可以帮助您获得您正在寻找的信息。它与ReSharper单元测试运行器集成并收集每个测试数据。您可以看到每个特定测试涵盖了哪些代码(在VS中有相应的突出显示)。更有趣的是,对于每一段代码,您都可以获得覆