草庐IT

模拟式

全部标签

c# - 你能模拟一个实现接口(interface)和抽象类的对象吗?

是否可以使用Moq模拟一个实现接口(interface)和抽象类的对象?即:publicclassMyClass:SomeAbstractClass,IMyClass你能mock这个吗? 最佳答案 您可以模拟任何接口(interface)以及任何抽象或虚拟成员。基本上就是这样。这意味着以下情况是绝对可能的:varimock=newMock();varaMock=newMock();如果继承自SomeAbstractClass的成员没有被密封,你也可以mockMyClass:varmcMock=newMock();这是否有意义取决于M

c# - 如何模拟不同的CPU频率和限制RAM

我必须用C#构建一个模拟器。该模拟器应该能够以可配置的CPU速度和有限的RAM大小运行第二个线程,例如144MHz和50MB。我当然知道模拟器永远无法像真实硬件那样准确。但我尝试获得几乎相似的性能。目前我正在考虑创建一个我会不时停止/休眠的线程。根据所需的CPU速度,模拟器应调整该线程的sleep时间,从而模拟不同的CPU频率。为了衡量实现的速度,我考虑使用PerformanceCounters。但是使用这种方法我遇到了一个问题,我不知道如何限制线程可以使用的RAM大小。您对如何实现这样的模拟器有任何想法吗?提前致谢! 最佳答案 使

c# - 如何创建模拟 HttpWebRequest 和 HttpWebResponse 对象

如何创建模拟HttpWebRequest和HttpWebResponse对象我正在尝试对以下代码进行单元测试HttpWebrequestrequest;if(null!=request){varresponse=(HttpWebResponse)request.GetResponse();using(varsr=newStreamReader(response.GetResponseStream())){jsonResult=sr.ReadToEnd();}varmyRecords=SerializationHelper.Deserialize(jsonResult);}

c# - 我如何在C#中模拟匿名类

我正在用C#编写一个小型数据结构库,但遇到了架构问题。本质上我有一个实现访问者模式的类,访问者有许多可能的实现:publicinterfaceITreeVisitor{UVisit(Nils);UVisit(Nodes);}publicabstractclassTree:IEnumerable{publicreadonlystaticTreeempty=newNil();publicabstractUAccept(ITreeVisitorvisitor);}publicsealedclassNil:Tree{publicoverrideUAccept(ITreeVisitorvisit

c# - 我怎样才能模拟这个静态方法

我有这个代码:publicstaticboolIsValidVoucher(stringid){//readtsvfilesvartemp1=AppData.GetAppData("stringval");//codethatneedtobetestedreturntrue;}我喜欢创建单元测试,但我如何模拟AppData.GetAppData("stringval")到我想要的任何值,这样我就可以测试其余代码。AppData类是:publicclassAppData{publicstaticobjectGetAppData(stringname){//...}}

c# - 如何使用 Moq 为接口(interface)模拟 `object.Equals(object obj)`

我有一个有趣的问题要解决。考虑像这样的一些接口(interface):publicinterfaceIMyThing{intId{get;}}现在我想测试使用这个接口(interface)的代码。也许有一些LINQ魔法。像这样:publicclassSomeClass{privateIMyThing_thing;...publicboolHasThing(IEnumerablethings){returnthings.Contains(_thing);}}我正在模拟所有实现IMyThing的对象使用Moq:publicstaticIMyThingMockMyThing(intnewId

C# 单元测试 - 生成模拟 DataContexts/LINQ -> SQL 类

我热爱C#的新世界,我的玩具程序已经到了我想开始编写一些单元测试的地步。我的代码当前通过DatabaseDataContext对象(*.dbml文件)使用数据库,为此对象创建模拟的最佳方法是什么?考虑到生成数据库LINQ->SQL代码是多么容易以及这一定是一个多么普遍的请求,我希望VS2010内置了有助于测试的功能。如果我偏离了方向并且必须手动完成此操作,您能否告诉我您的首选方法?非常感谢,加文 最佳答案 DataContext的问题在于它不是为模拟而设计的。模拟不可模拟对象的免费工具是MolesfromPex(Pexmoles?)

c# - MSYS/Cygwin 使用什么机制来模拟 Unix 域套接字?

我正在尝试编写(在C#中)一个软件,该软件通过(MSYS模拟的)Unix域套接字与另一个使用MSYS构建的软件进行通信。我了解到“套接字服务器”(我不清楚正确的术语是什么)会创建一个临时文件,其内容如下:!59108282F93E1-9E2D051A-46B57EFC-64A1852F59108对应于一个TCP端口,“套接字服务器”正在环回接口(interface)上监听该端口。使用数据包捕获工具,我已经能够确定“套接字客户端”连接到此端口,并通过环回接口(interface)交换信息。我在我的软件中复制了这个行为,“套接字客户端”连接到我的监听端口,但没有传输任何信息。我相信这里还有

c# - 在 C# 中模拟 CTE 递归

假设有以下CTE返回我拥有的一些树数据(邻接模型)的级别(取自HierarchicaldatainLinq-optionsandperformance):WITHhierarchy_cte(id,parent_id,data,lvl)AS(SELECTid,parent_id,data,0ASlvlFROMdbo.hierarchical_tableWHERE(parent_idISNULL)UNIONALLSELECTt1.id,t1.parent_id,t1.data,h.lvl+1ASlvlFROMdbo.hierarchical_tableASt1INNERJOINhierar

c# - 使用 Moq 模拟 nHibernate QueryOver

测试时,以下行因空引用而失败:varawards=_session.QueryOver().Where(x=>x.BusinessId==(int)business).List();我的测试是这样的:varmockQueryOver=newMock>();mockQueryOver.Setup(q=>q.List()).Returns(newList{_awardingBody});_mockSession.Setup(c=>c.QueryOver()).Returns((mockQueryOver.Object));_mockCommandRunner=newMock();_gene