草庐IT

unit-testing

全部标签

c# - 在调用方法时使用 Moq 分配属性值

我正在尝试使用Moq在调用方法时分配属性。类似的东西:Mockmock=newMock();mock.Setup(x=>x.Start()).AssignProperty(y=>y.Enabled=true);是否可以在调用方法时使用Moq设置预期的属性值 最佳答案 我假设您实际上是在尝试在调用方法时在Mock上执行一个新的Setup()?如果是这样,您应该能够通过回调来完成此操作,如下所示:Mockmock=newMock();mock.Setup(x=>x.Start()).Callback(()=>mock.SetupGet(

c# - 比较 XML 文件是否相等的最佳方法是什么?

我使用的是.NET2.0,最近的代码更改使我之前的Assert.AreEqual调用(比较两个XML字符串)无效。XML中只有一个元素在新代码库中实际上不同,所以我希望所有其他元素的比较会给我想要的结果。比较需要以编程方式完成,因为它是单元测试的一部分。起初,我考虑使用几个XmlDocument实例。但后来我发现了这个:http://drowningintechnicaldebt.com/blogs/scottroycraft/archive/2007/05/06/comparing-xml-files.aspx看起来它可能有效,但我对StackOverflow反馈很感兴趣,以防有更好

c# - 使用反射在 C# 中引发事件的单元测试

我想测试设置某个属性(或更一般地说,执行某些代码)是否会在我的对象上引发某个事件。在这方面,我的问题类似于UnittestingthataneventisraisedinC#,但我需要很多这样的测试,而且我讨厌样板文件。所以我正在寻找一个更通用的解决方案,使用反射。理想情况下,我想做这样的事情:[TestMethod]publicvoidTestWidth(){MyClassmyObject=newMyClass();AssertRaisesEvent(()=>{myObject.Width=42;},myObject,"WidthChanged");}对于AssertRaisesEv

c# - .NET:HttpClient 使用我的接口(interface) IHttpClient 模拟它,但有一个内部对象为 NULL,它是密封的

不知道有没有人能帮忙。我已经创建了自己的IHttpClient,因此我可以使用最小起订量模拟HttpClient。工作得很好,但有一个名为DetaultRequestHeaders的内部对象,它有一个名为Authorization的属性。我在我的构造函数或我的类中设置它,它在注入(inject)的IHttpClient中接受,当然在运行时一切都按预期工作。但是使用单元测试我得到一个错误提示Objectreferencenotsettoinstance....这是因为DefaultRequestHeaders为空。现在在进一步调查之后,它似乎是HttpRequestHeaders但它是一

c# - 如何测试 Web API JSON 响应?

我正在尝试为我的网络API设置单元测试。我从网上找到的一些零零碎碎的东西中整理了一些测试代码。我已经发送了测试请求并收到了响应,但我一直在测试响应。这就是我到目前为止所得到的。这是使用xunit测试包,但我认为这对我要实现的目标并不重要。(为困惑的代码道歉)[Fact]publicvoidCreateOrderTest(){stringbaseAddress="http://dummyname/";//ServerHttpConfigurationconfig=newHttpConfiguration();config.Routes.MapHttpRoute("Default","ap

c# - 如何在 MVVM 中对异步 ICommand 进行单元测试?

我一直在谷歌搜索甚至Bing-ing,但我没有想出任何令人满意的东西。我有一个包含一些命令的ViewModel,例如:SaveCommand、NewCommand和DeleteCommand。我的SaveCommand执行保存到文件操作,我希望它是一个async操作,这样UI就不会等待它。我的SaveCommand是AsyncCommand的一个实例,它实现了ICommand。SaveCommand=newAsyncCommand(asyncparam=>{Connectioncon=awaitConnection.GetInstanceAsync(m_configurationPat

c# - 使用 rhino mocks 为每次调用返回不同的实例

我有这个代码:Expect.Call(factory.CreateOrder()).Return(newOrder()).Repeat.Times(4);当它被调用四次时,每次都返回相同的实例。我想要返回不同的实例。我希望能够做类似的事情:Expect.Call(factory.CreateOrder()).Return(()=>newOrder()).Repeat.Times(4);这可以通过某种方式完成吗? 最佳答案 而不是使用.Return(newOrder());尝试使用.Do((Func)delegate(){return

c# - C# : generate a list of two dimension arrays with the same shape 中的 FsCheck

假设我正在编写一些视频分析代码。这是视频类的简化版本:publicclassVideo{publicreadonlyintWidth;publicreadonlyintHeight;publicreadonlyListFrames;publicVideo(intwidth,intheight,IEnumerableframes){Width=width;Height=height;Frames=newList();foreach(varframeinframes){if(frame.GetLength(0)!=height||frame.GetLength(1)!=width){thr

c# - 没有 IoC 或依赖注入(inject)的模拟

有没有一种方法可以在单元测试中使用mock或fakes而不必使用依赖注入(inject)或反转或控制?我发现此语法可与TypeMockIsolator(http://learn.typemock.com/)一起使用。虽然它是一个商业产品,所以我希望其他框架(例如RhinoMocks)会在某个阶段引入这样的语法。///CanmockobjectsWITHOUTDEPENDENCYINJECTION.varhand=Isolate.Fake.Instance();varmouth=Isolate.Fake.Instance();Isolate.Swap.NextInstance().Wit

c# - 对 Viewmodel 进行单元测试

我是TDD的新手。我已经开始在View模型上创建我需要的属性作为普通自动属性。publicstringFirstname{get;set;}然后我创建一个测试[TestMethod][Tag("Property")]publicvoidFirstNameTest(){ViewModel=newCustomerViewModel();ViewModel.PropertyChanged+=(s,e)=>{Assert.AreEqual("Firstname",e.PropertyName);Assert.AreEqual("Test",ViewModel.Firstname);};View