关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭5年前。Improvethisquestion有没有人在成功使用单元测试的大公司或非常大的项目中工作过?我们当前的数据库有约300个表,约有100个聚合根。总共有大约4000列,完成后我们将有大约200万行代码。我想知道-拥有这种规模(或更大)数据库的公司是否真的努力模拟/stub他们的域对象以进行测试?我在一家大公司工作已经两年了,但当时所有的大型应用程序都是通过集成测试来测试的。如果需要大量设置,单元测试通常不被接受。我开始觉得单
我刚从2013年转到VS2015。回到2013年,我使用Alt+Shift+(来输入{字符.在VS2015中,相同的命令会切换滚动条的错误显示,并且不会让我键入左花括号。我试图在Tools->Options->Environment->Keyboard中找到这个糟糕的快捷方式,但没有成功。有人知道如何删除它或用我想要的快捷方式覆盖它吗?编辑:我正在使用Resharper9.2Ultimate,它的键盘方案:ReSharper2.x或IntelliJIDEA超过VisualStudios默认方案。我已经尝试过这两种方案,但似乎都没有解决这个问题。所以这不应该是问题的原因,除非我遗漏了一些
是否可以使用Moq模拟一个实现接口(interface)和抽象类的对象?即:publicclassMyClass:SomeAbstractClass,IMyClass你能mock这个吗? 最佳答案 您可以模拟任何接口(interface)以及任何抽象或虚拟成员。基本上就是这样。这意味着以下情况是绝对可能的:varimock=newMock();varaMock=newMock();如果继承自SomeAbstractClass的成员没有被密封,你也可以mockMyClass:varmcMock=newMock();这是否有意义取决于M
我必须用C#构建一个模拟器。该模拟器应该能够以可配置的CPU速度和有限的RAM大小运行第二个线程,例如144MHz和50MB。我当然知道模拟器永远无法像真实硬件那样准确。但我尝试获得几乎相似的性能。目前我正在考虑创建一个我会不时停止/休眠的线程。根据所需的CPU速度,模拟器应调整该线程的sleep时间,从而模拟不同的CPU频率。为了衡量实现的速度,我考虑使用PerformanceCounters。但是使用这种方法我遇到了一个问题,我不知道如何限制线程可以使用的RAM大小。您对如何实现这样的模拟器有任何想法吗?提前致谢! 最佳答案 使
如何创建模拟HttpWebRequest和HttpWebResponse对象我正在尝试对以下代码进行单元测试HttpWebrequestrequest;if(null!=request){varresponse=(HttpWebResponse)request.GetResponse();using(varsr=newStreamReader(response.GetResponseStream())){jsonResult=sr.ReadToEnd();}varmyRecords=SerializationHelper.Deserialize(jsonResult);}
我正在用C#编写一个小型数据结构库,但遇到了架构问题。本质上我有一个实现访问者模式的类,访问者有许多可能的实现:publicinterfaceITreeVisitor{UVisit(Nils);UVisit(Nodes);}publicabstractclassTree:IEnumerable{publicreadonlystaticTreeempty=newNil();publicabstractUAccept(ITreeVisitorvisitor);}publicsealedclassNil:Tree{publicoverrideUAccept(ITreeVisitorvisit
我有这个代码:publicstaticboolIsValidVoucher(stringid){//readtsvfilesvartemp1=AppData.GetAppData("stringval");//codethatneedtobetestedreturntrue;}我喜欢创建单元测试,但我如何模拟AppData.GetAppData("stringval")到我想要的任何值,这样我就可以测试其余代码。AppData类是:publicclassAppData{publicstaticobjectGetAppData(stringname){//...}}
我有一个有趣的问题要解决。考虑像这样的一些接口(interface):publicinterfaceIMyThing{intId{get;}}现在我想测试使用这个接口(interface)的代码。也许有一些LINQ魔法。像这样:publicclassSomeClass{privateIMyThing_thing;...publicboolHasThing(IEnumerablethings){returnthings.Contains(_thing);}}我正在模拟所有实现IMyThing的对象使用Moq:publicstaticIMyThingMockMyThing(intnewId
我热爱C#的新世界,我的玩具程序已经到了我想开始编写一些单元测试的地步。我的代码当前通过DatabaseDataContext对象(*.dbml文件)使用数据库,为此对象创建模拟的最佳方法是什么?考虑到生成数据库LINQ->SQL代码是多么容易以及这一定是一个多么普遍的请求,我希望VS2010内置了有助于测试的功能。如果我偏离了方向并且必须手动完成此操作,您能否告诉我您的首选方法?非常感谢,加文 最佳答案 DataContext的问题在于它不是为模拟而设计的。模拟不可模拟对象的免费工具是MolesfromPex(Pexmoles?)
我正在尝试编写(在C#中)一个软件,该软件通过(MSYS模拟的)Unix域套接字与另一个使用MSYS构建的软件进行通信。我了解到“套接字服务器”(我不清楚正确的术语是什么)会创建一个临时文件,其内容如下:!59108282F93E1-9E2D051A-46B57EFC-64A1852F59108对应于一个TCP端口,“套接字服务器”正在环回接口(interface)上监听该端口。使用数据包捕获工具,我已经能够确定“套接字客户端”连接到此端口,并通过环回接口(interface)交换信息。我在我的软件中复制了这个行为,“套接字客户端”连接到我的监听端口,但没有传输任何信息。我相信这里还有