moq 相关问题

Moq(发音为“Mock-you”或只是“Mock”)是.NET的一个模拟框架,它大量使用lambdas和LINQ表达式树。

模拟记录

在我的应用程序中,我有一堆 DTO,通常作为记录实现。各种方法都将这些 DTO 作为参数。 DTO 有很多属性,当我对 cl 进行单元测试时...

回答 1 投票 0

如果无法将模拟对象注入方法中,如何触发方法内的特定条件?

我必须做什么才能创建一个导致 searchResult 为 null 以便 MyMethod 返回 false 的单元测试? 公共类 MyConnectionHandler 公共 bool MyMethod() { var myConnection =...

回答 1 投票 0

在模拟上设置一个方法,其参数是异步函数表达式

我有一个相对简单的接口来模拟,我想为其设置 Run 方法: 公共接口IRunner { T Run(ILogger 日志,ExecutionContext 上下文,Func 我有一个相对简单的接口来模拟,我想为其设置 Run 方法: public interface IRunner { T Run<T>(ILogger log, ExecutionContext context, Func<FunctionContext, T> func); } 当它被调用时,它看起来像这样: myRunner.Run(myLog, myContext, async ctx => { await _do(myContext, myLog, trxData); }); 我一直在尝试这样嘲笑它: var mockRunner = new Mock<IRunner>(); mockRunner.Setup( x => x.Run( It.IsAny<ILogger>, It.IsAny<ExecutionContext>, It.IsAny<Func<FunctionContext,T>> )); 但是编译器对此并不满意: 方法'IRunner.Run<T>(ILogger,ExecututionContext,Func<FunctionContext,T>)'的类型参数无法从用法中推断出来。尝试显式指定类型参数。 我完全被难住了,非常感谢任何想法或建议。 IRunner 接口的 Run 方法是通用的,并且类型为 T,您需要为您正在设置的方法提供显式类型参数。 自从您提到在传递给 Run 的 lambda 中使用 wait 以来,我就假设 T 是 Task。 It.IsAny>(),指定一个接受 FunctionContext 并返回 Task 的函数。 例如,如果 Run 应返回一个 Task,则应设置模拟以返回 Task 的实例 mockRunner.Setup( x => x.Run<Task<ResultType>>( It.IsAny<ILogger>(), It.IsAny<ExecutionContext>(), It.IsAny<Func<FunctionContext, Task<ResultType>>>() ) ).ReturnsAsync(new ResultType());

回答 1 投票 0

使用 Moq 对 dbContext 的添加操作进行单元测试

我正在尝试在我的应用程序开发中启动TDD,我正在使用xunit和最小起订量来模拟测试实体框架操作的单元,我在测试更新或删除操作时没有任何问题...

回答 1 投票 0

用 Moq 模拟 foreach 循环

我想循环遍历 XmlNodeList。如何在 Moq 中模拟 XmlNodeList,以便可以像 foreach 循环一样循环遍历它: foreach(节点中的 XmlNode xmlNode) { //做

回答 1 投票 0

xunit 和模拟返回 null 而不是字符串

我遇到了 xUnit.net 和 Moq 测试问题,我已经模拟了控制器的依赖项并设置了模拟以返回任务,但我的 response.Value 在这里为 null。有人可以帮忙吗...

回答 2 投票 0

运行时动态调用MoqSetup()

我想创建一个工厂,为我的单元测试创建常用的模拟对象。我已经成功设置了测试,以便可以模拟 Linq2Sql DataContext 并返回内存表

回答 2 投票 0

引发模拟对象的事件并作为用于调用方法的参数对象传递给那里

我有一个接口IPeakCommunication,以及派生类PeakCommunication。在派生类中,我有一个 Send(RequestData request) 方法的实现,它可以执行某些操作,正如我所期望的......

回答 1 投票 0

如何模拟自定义 ValueResolver 构造函数参数

我在 .NET Core 中有一个项目,我正在使用 AutoMapper 在我的类型之间进行映射。但我遇到了一个问题,我想模拟自定义值解析器的参数。我创建了虚拟 exa...

回答 2 投票 0

Xunit 使用 Moq 测试 RestSharp

我正在尝试在 xunit 中测试我的类(见下文),该类应该连接到 API 并获取所有客户,即我分页的响应。我无权访问 API 如何在 Xunit 中模拟它,...

回答 1 投票 0

如何使用 x-unit 方法 ASP Web API .Net 6 调用模拟框架中的服务类?

我们将使用 .NET 6 在 ASP.NET Web API 中执行单元测试。我们正在尝试使用 Moq 框架和 xUnit 测试方法进行单元测试。首先,我们下载 Moq 包。接下来...

回答 1 投票 0

如何为 ExecuteSqlRawAsync 编写单元测试用例

我想使用 Nunit 和 moq 为以下方法编写一个单元测试用例。该方法有一个 ExecuteSqlRawAsync,它将数据从一个表插入到另一个表。如果有任何例外,我会滚动...

回答 1 投票 0

Moq - 验证没有调用任何方法

这是我在 ASP.NET MVC 项目中的一个控制器使用 NUnit 和 Moq 进行的单元测试: [测试] 公共无效Create_job_with_modelstate_errors_fails() { var job = new JobDto(); 这个。

回答 2 投票 0

Moq - 不可重写的成员不得在设置/验证表达式中使用

我是最小起订量新手。我正在嘲笑 PagingOptions 类。该类如下所示: 公共类 PagingOptions { [Range(1, 99999, ErrorMessage = "偏移量必须大于 0。")] ...

回答 7 投票 0

单元测试中如何处理try-catch块?

我想为try catch块(C#)编写单元测试。 公共行动结果索引() { 尝试 { ------------- } 捕获(异常前) { 扔; } } 当你...

回答 4 投票 0

不带参数的函数的 Moq 设置序列

我必须模拟该函数 bool ReceiveData(long channelID, int count, int timeOut, out byte[] data); 困难在于 out 参数每次都应该返回不同的东西...

回答 1 投票 0

如何设置/模拟属性(C#、UnitTest)

我得到了这个: 私人列表> m_tempCars 公共 IList> CarTypes { 得到 { 如果(m_tempCars == null...

回答 1 投票 0

Moq - 设置通用返回类型

如何在 Moq 中设置通用返回类型? 我有以下界面: 公共接口 IFoo { T 条(); } 现在我想设置 Bar() 在测试中工作 var foo = 新...

回答 3 投票 0

如何使用 Moq 模拟 ResourceGroupCollection?

我的代码如下: SubscriptionResource 订阅 =等待armClient.GetDefaultSubscriptionAsync(); var resourceGroup = subscription.GetResourceGroups().FirstOrDefault(rg => rg.Data.Name.

回答 1 投票 0

模拟 IRestClient.ExecuteAsync 结果上的空数据

我有一个使用 RestSharp (110.2.0) 的方法,我想对其进行单元测试,但遇到困难。 样品方法: 私有IRestClient _restClient; 公共异步任务 GetToken() { 变量...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.