草庐IT

c# - 没有指定输入参数的 Moq 模拟方法

我在使用Moq的测试中有一些代码:publicclassInvoice{...publicboolIsInFinancialYear(FinancialYearLookupfinancialYearLookup){returnInvoiceDate>=financialYearLookup.StartDate&&InvoiceDate所以在单元测试中我试图模拟这个方法并让它返回truemockInvoice.Setup(x=>x.IsInFinancialYear()).Returns(true);有没有办法写这一行,这样我就不必指定IsInFinancialYear的输入。IE。所以

c# - 没有指定输入参数的 Moq 模拟方法

我在使用Moq的测试中有一些代码:publicclassInvoice{...publicboolIsInFinancialYear(FinancialYearLookupfinancialYearLookup){returnInvoiceDate>=financialYearLookup.StartDate&&InvoiceDate所以在单元测试中我试图模拟这个方法并让它返回truemockInvoice.Setup(x=>x.IsInFinancialYear()).Returns(true);有没有办法写这一行,这样我就不必指定IsInFinancialYear的输入。IE。所以

c# - 使用 Moq 验证特定参数

publicvoidSubmitMessagesToQueue_OneMessage_SubmitSuccessfully(){varmessageServiceClientMock=newMock();varqueueableMessage=CreateSingleQueueableMessage();varmessage=queueableMessage[0];varxml=QueueableMessageAsXml(queueableMessage);messageServiceClientMock.Setup(proxy=>proxy.SubmitMessage(xml)).V

c# - 使用 Moq 验证特定参数

publicvoidSubmitMessagesToQueue_OneMessage_SubmitSuccessfully(){varmessageServiceClientMock=newMock();varqueueableMessage=CreateSingleQueueableMessage();varmessage=queueableMessage[0];varxml=QueueableMessageAsXml(queueableMessage);messageServiceClientMock.Setup(proxy=>proxy.SubmitMessage(xml)).V

c# - Moq:如何获取传递给模拟服务方法的参数

想象一下这个类publicclassFoo{privateHandler_h;publicFoo(Handlerh){_h=h;}publicvoidBar(inti){_h.AsyncHandle(CalcOn(i));}privateSomeResponseCalcOn(inti){...;}}在Foo测试中Mo(q)ckingHandler,我如何才能检查Bar()传递给_h.AsyncHandle的内容? 最佳答案 您可以使用Mock.Callback方法:varmock=newMock();SomeResponseresu

c# - Moq:如何获取传递给模拟服务方法的参数

想象一下这个类publicclassFoo{privateHandler_h;publicFoo(Handlerh){_h=h;}publicvoidBar(inti){_h.AsyncHandle(CalcOn(i));}privateSomeResponseCalcOn(inti){...;}}在Foo测试中Mo(q)ckingHandler,我如何才能检查Bar()传递给_h.AsyncHandle的内容? 最佳答案 您可以使用Mock.Callback方法:varmock=newMock();SomeResponseresu

c# - 使用 Moq 模拟扩展方法

我有一个预先存在的界面...publicinterfaceISomeInterface{voidSomeMethod();}我已经使用mixin扩展了这个接口(interface)......publicstaticclassSomeInterfaceExtensions{publicstaticvoidAnotherMethod(thisISomeInterfacesomeInterface){//Implementationhere}}我有一个类调用这个我想测试...publicclassCaller{privatereadonlyISomeInterfacesomeInterfa

c# - 使用 Moq 模拟扩展方法

我有一个预先存在的界面...publicinterfaceISomeInterface{voidSomeMethod();}我已经使用mixin扩展了这个接口(interface)......publicstaticclassSomeInterfaceExtensions{publicstaticvoidAnotherMethod(thisISomeInterfacesomeInterface){//Implementationhere}}我有一个类调用这个我想测试...publicclassCaller{privatereadonlyISomeInterfacesomeInterfa

c# - 使用 Moq 确定方法是否被调用

据我了解,如果我调用更高级别的方法,我可以测试是否会发生方法调用,即:publicabstractclassSomeClass(){publicvoidSomeMehod(){SomeOtherMethod();}internalabstractvoidSomeOtherMethod();}我想测试一下,如果我调用SomeMethod(),那么我希望SomeOtherMethod()会被调用。我是否认为这种测试可以在模拟框架中使用? 最佳答案 您可以使用Verify来查看您模拟的对象中的方法是否已被调用,例如:staticvoidM

c# - 使用 Moq 确定方法是否被调用

据我了解,如果我调用更高级别的方法,我可以测试是否会发生方法调用,即:publicabstractclassSomeClass(){publicvoidSomeMehod(){SomeOtherMethod();}internalabstractvoidSomeOtherMethod();}我想测试一下,如果我调用SomeMethod(),那么我希望SomeOtherMethod()会被调用。我是否认为这种测试可以在模拟框架中使用? 最佳答案 您可以使用Verify来查看您模拟的对象中的方法是否已被调用,例如:staticvoidM