草庐IT

c# - 为 MVC 应用程序模拟 System.Web.Routing 中的 RouteData 类

我正在尝试测试一些依赖于ControllerContext.RouteData中的Values属性的应用程序逻辑。目前为止//ArrangevarhttpContextMock=newMock(MockBehavior.Loose);varcontrollerMock=newMock(MockBehavior.Loose);varrouteDataMock=newMock();varwantedRouteValues=newDictionary();wantedRouteValues.Add("key1","value1");varrouteValues=newRouteValueDi

c# - 为 MVC 应用程序模拟 System.Web.Routing 中的 RouteData 类

我正在尝试测试一些依赖于ControllerContext.RouteData中的Values属性的应用程序逻辑。目前为止//ArrangevarhttpContextMock=newMock(MockBehavior.Loose);varcontrollerMock=newMock(MockBehavior.Loose);varrouteDataMock=newMock();varwantedRouteValues=newDictionary();wantedRouteValues.Add("key1","value1");varrouteValues=newRouteValueDi

c# - 如果我可以只定义一个变量,为什么要使用 It.is<> 或 It.IsAny<>?

您好,当我看到这段代码时,我已经使用moq一段时间了。我必须在我的一个仓库中设置返回。mockIRole.Setup(r=>r.GetSomething(It.IsAny(),It.IsAny(),It.IsAny())).Returns(ReturnSomething);我有三个参数,我只是在网上的一篇文章或博客中看到的。It.Is有什么用或It.IsAny对于一个对象?如果我可以使用Guid.NewGuid()或其他类型那么为什么要使用It.Is?抱歉,我不确定我的问题是否正确,或者我是否遗漏了一些测试知识。但似乎这两种方式都没有错。 最佳答案

c# - 如果我可以只定义一个变量,为什么要使用 It.is<> 或 It.IsAny<>?

您好,当我看到这段代码时,我已经使用moq一段时间了。我必须在我的一个仓库中设置返回。mockIRole.Setup(r=>r.GetSomething(It.IsAny(),It.IsAny(),It.IsAny())).Returns(ReturnSomething);我有三个参数,我只是在网上的一篇文章或博客中看到的。It.Is有什么用或It.IsAny对于一个对象?如果我可以使用Guid.NewGuid()或其他类型那么为什么要使用It.Is?抱歉,我不确定我的问题是否正确,或者我是否遗漏了一些测试知识。但似乎这两种方式都没有错。 最佳答案

c# - Moq - mock.Raise 应该在没有设置的情况下在测试单元中引发事件

我有一个演示器类,它附加了一个注入(inject)View的事件。现在我想测试演示者对事件的正确react。这是View界面IView:publicinterfaceIView{eventEventHandlerMyEvent;voidUpdateView(stringtest);}这是实现IView的View:publicpartialclassMyView:IView{publiceventEventHandlerMyEvent;publicMyView(){this.combo.SelectedIndexChanged+=this.OnSelectedIndexChanged;}

c# - Moq - mock.Raise 应该在没有设置的情况下在测试单元中引发事件

我有一个演示器类,它附加了一个注入(inject)View的事件。现在我想测试演示者对事件的正确react。这是View界面IView:publicinterfaceIView{eventEventHandlerMyEvent;voidUpdateView(stringtest);}这是实现IView的View:publicpartialclassMyView:IView{publiceventEventHandlerMyEvent;publicMyView(){this.combo.SelectedIndexChanged+=this.OnSelectedIndexChanged;}

c# - 如何测试asp.net core内置的Ilogger

我想验证一些记录的日志。我使用的是asp.netcore内置的ILogger,并用asp.netcore内置的DI注入(inject)它:privatereadonlyILogger_logger;publicInvoiceApi(ILoggerlogger){_logger=logger;}然后我像这样使用它:_logger.LogError("error));我试着像往常一样模拟它(用最小起订量):MockLogger=newMock>();并将其注入(inject)到服务中进行测试:newInvoiceApi(MockLogger.Object);然后尝试验证:MockLogge

c# - 如何测试asp.net core内置的Ilogger

我想验证一些记录的日志。我使用的是asp.netcore内置的ILogger,并用asp.netcore内置的DI注入(inject)它:privatereadonlyILogger_logger;publicInvoiceApi(ILoggerlogger){_logger=logger;}然后我像这样使用它:_logger.LogError("error));我试着像往常一样模拟它(用最小起订量):MockLogger=newMock>();并将其注入(inject)到服务中进行测试:newInvoiceApi(MockLogger.Object);然后尝试验证:MockLogge

c# - 如何模拟非虚拟方法?

[TestMethod]publicvoidTestMethod1(){varmock=newMock();mock.Setup(x=>x.SendEmail()).Returns(true);varcus=newCustomer();varresult=cus.AddCustomer(mock.Object);Assert.IsTrue(result);}publicclassCustomer{publicboolAddCustomer(EmailServiceemailService){emailService.SendEmail();Debug.WriteLine("newcus

c# - 如何模拟非虚拟方法?

[TestMethod]publicvoidTestMethod1(){varmock=newMock();mock.Setup(x=>x.SendEmail()).Returns(true);varcus=newCustomer();varresult=cus.AddCustomer(mock.Object);Assert.IsTrue(result);}publicclassCustomer{publicboolAddCustomer(EmailServiceemailService){emailService.SendEmail();Debug.WriteLine("newcus