草庐IT

c# - 最小起订量如何确定使用包含特定值的列表调用的方法

这个问题在这里已经有了答案:MOQ-checkamethodiscalledwithonlyspecificparameters(3个答案)关闭9年前。你好,我有一个具有以下签名的方法:publicvoidGeneratePaymentAdvise(IListpaymentIds)这是由另一种方法调用的:publicvoidUpdatePaymentStatus(IListpaymentIds,IPaymentLogicpaymentLogic){...paymentLogic.GeneratePaymentStatus(paymentIds);...}所以在单元测试中我想确保它被调用

c# - 具有 protected setter 的最小起订量属性

我要Moq下一个对象:abstractclassFoo{publicstringBar{get;protectedset;}}所以newMock().Bar返回"Blah".我该怎么做?fooMock.SetupGet(s=>s.Bar).Returns("Blah");抛出Failure:System.NotSupportedException:Invalidsetuponanon-virtualmember:s=>s.Date和fooMock.Protected().SetupGet("Bar").Returns("Blah");抛出Tospecifyasetupforpublic

c# - 我怎样才能用最小起订量模拟 Response.StatusCode?

我有以下方法:publicvoidSetHttpStatusCode(HttpStatusCodehttpStatusCode){Response.StatusCode=(int)httpStatusCode;}以及以下测试:[TestMethod]publicvoidSetHttpStatusCode_SetsCorrectStatusCode(){//Arrange//AnyurlwillsufficevarmockHttpContext=TestHelpers.MakeHttpContext("");mockHttpContext.SetupSet(x=>x.Response.S

c# - 这是互斥量的正确使用吗?

我遇到这样一种情况,我可能同时运行一个程序的多个实例,重要的是不要同时在多个实例中执行一个特定的函数。这是使用互斥锁来防止这种情况发生的正确方法吗?lock(this.GetType()){_log.Info("DoingSync");DoSync();_log.Info("SyncCompleted");} 最佳答案 您说的是一个应用程序的多个实例,所以我们说的是两个program.exe正在运行,对吗?lock语句不会跨多个程序锁定,只是在程序内部。如果你想要一个真正的Mutex,请查看System.Threading.Mute

c# - 最小起订量测试无效方法

您好,我是最小起订量测试的新手,很难做一个简单的断言。我正在使用一个界面publicinterfaceIAdd{voidadd(inta,intb);}IAdd接口(interface)的起订量是:Mockmockadd=newMock();mockadd.Setup(x=>x.add(It.IsAny(),It.IsAny()).callback((inta,intb)=>{a+b;});IAddtesting=mockadd.Object;因为add方法是无效的,它不会返回任何值来断言。我如何断言此设置? 最佳答案 为什么要使用

c# - 我如何使用最小起订量模拟一个集合

我是单元测试和模拟的新手,而且耳后仍然湿漉漉的。我正在使用Moq框架,我需要模拟一个集合,以便它生成一个具有我提供的值的成员。有问题的集合类是System.Configuration.SettingsPropertyCollection,其中包含SettingsProperty对象。反过来,SettingsProperty有一个Attributes返回SettingsAttributeDictionary的属性.我需要我的收藏才能产生一个SettingsProperty,在其System.Attribute中有一个自定义属性(源自Attributes.SettingsAttribute

c# - 使用最小起订量部分模拟类

我只想模拟以下类的GetValue方法,使用Moq:publicclassMyClass{publicvirtualvoidMyMethod(){intvalue=GetValue();Console.WriteLine("ORIGINALMyMethod:"+value);}internalvirtualintGetValue(){Console.WriteLine("ORIGINALGetValue");return10;}}我已经阅读了一些这应该如何与Moq一起使用。我在网上找到的解决方案是使用CallBase属性,但这对我不起作用。这是我的测试:[Test]publicvoid

c# - 使用最小起订量模拟 HttpContext 进行单元测试

这个问题在这里已经有了答案:HowdoImocktheHttpContextinASP.NETMVCusingMoq?(6个答案)关闭8年前。我需要一个HttpContext的模拟来进行单元测试。但我正在为此苦苦挣扎。我正在创建一个方法,该方法将通过SessionIdManager以编程方式更改sessionId。并且SessionIdManager需要HttpContext而不是HttpContextBase。但是我找不到任何模拟HttpContext的例子。那里的所有示例都只是为了制作HttpContextBase。我在下面试过,但它们没有用HttpContexthttpConte

c# - 使用最小起订量创建具有自动填充属性的模拟?

我有一个我想模拟的对象(比如HttpContext或其他对象)。有时,在某些单元测试中,我不得不模拟大量依赖项,并适本地设置它们的依赖项和值。下面有一些模拟httpcontext和另一个类的示例代码:publicstaticHttpContextBaseFakeHttpContext(){varcontext=newMock();varfiles=newMock();varrequest=newMock();varresponse=newMock();varsession=newMock();varserver=newMock();varuser=newMock();varidenti

c# - 使用最小起订量模拟 HttpContext.Current.Server.MapPath?

我正在对我的家庭Controller进行单元测试。在我添加保存图像的新功能之前,此测试运行良好。导致问题的方法如下所示。publicstaticvoidSaveStarCarCAPImage(intcapID){byte[]capBinary=Motorpoint2011Data.RetrieveCapImageData(capID);if(capBinary!=null){MemoryStreamioStream=newMemoryStream();ioStream=newMemoryStream(capBinary);//savethememorystreamasanimage//