moq 相关问题

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

单元模拟测试中的 It.IsAny 是什么以及 It.Is 是什么

已经有人问过很多问题,但我认为我需要一些更基本的东西来澄清这个概念,因为我是 TDD 的初学者。到那时我还不能前进。 你能...

回答 2 投票 0

Blazor 的模拟 ProtectedSessionStorage

有没有办法在 Blazor 服务器端项目中模拟 ProtectedSessionStorage? 我尝试了下面的代码,但收到错误:“要模拟的类型(ProtectedSessionStorage)必须是一个接口、一个删除...

回答 2 投票 0

如何使用 Moq 模拟异步通用缓存工厂?

我正在尝试使用 Moq 模拟以下缓存服务方法: Task GetOrCreateAsync(字符串键,Func> 工厂) 该方法通常检查...

回答 1 投票 0

单元测试来验证是否调用了基类方法

我有一个基类: 公共抽象类 MyBaseClass { protected virtual void Method1() { } } 和一个派生类: 公共类 MyDerivedClass :MyBaseClass { 公共空间

回答 4 投票 0

使用 Moq 在 C# 中进行单元测试受保护的方法

最近我注意到,您可以使用 Moq 对抽象基类进行单元测试,而不是在测试中创建实现抽象基类的虚拟类。请参阅如何使用起订量来测试

回答 4 投票 0

N 受保护方法的替代品

我正在将现有的单元测试从 Moq 迁移到 NSubstitute。 对于大多数情况来说,这是一个非常平滑的过渡,但是当涉及到模拟 HttpMessageHandler (SendAsync) 时,就会出现相当严重的问题...

回答 1 投票 0

使用 nunit 和 MOQ 进行单元测试

var note =等待_dbContext.Notes .Where(n => n.IntNoteId == ReferenceAsInteger) .FirstOrDefaultAsync(); 如何使用最小起订量设置使其工作?

回答 1 投票 0

为什么我无法更改尚未设置的模拟对象属性的值?

我是单元测试新手,正在为 .NET C# 应用程序编写单元测试。为了创建模拟,我在测试项目中使用 MOQ NuGet 包。我有一个具有两个属性的接口: 公共接口...

回答 1 投票 0

使用 Moq 进行 C# EF Core 单元测试

我一直致力于使用 Moq 为我们的一些 CQRS 命令设置单元测试。 我已经模拟了一个在我的环境中运行的命令处理程序来运行命令。 我正在运行的问题...

回答 1 投票 0

创建一个从 Mock 继承属性的类。 C#

我想创建一个继承Mock属性的类。这样,当我调用它时,我可以无缝地使用设置方法和其他功能 这是我的班级 公开课

回答 1 投票 0

如何订购具有私有成员字段的对象并设置这些私有对象的方法?

我正在使用.Net Core 8,我有以下课程: 公共类 UserRepository :EfRepository,IUserRepository { 私有只读 IJwtFactory _jwtFactory; 私有只读

回答 1 投票 0

.Net Core C# 如何获取具有私有成员字段的对象并设置这些私有对象的方法?

我正在使用.Net Core 8,我有以下课程: 公共类 UserRepository :EfRepository,IUserRepository { 私有只读 IJwtFactory _jwtFactory; 私有只读

回答 1 投票 0

Moq 不包含 ReturnAsync 的定义?

我正在尝试模拟一些对第三方服务的 API 调用以进行单元测试。我真的只是希望这个模拟函数每次都返回相同的 RestEase.Response<...> 。 // 设置 变种

回答 5 投票 0

我是否也应该将 SUT 程序集的 nupkg 依赖项添加到测试项目中?

我对编写单元测试还比较陌生。我在 .NET 8 中为 azure 函数编写单元测试用例时遇到了这种情况。 项目 1 - ABC.Functions 项目 2 - ABC.Functions.Test 我已经添加了...

回答 1 投票 0

Azure blob 中的模拟 FunctionContext 触发 .net 8 中的函数单元测试

我需要有关以下 .net 测试的帮助。 我们有针对 blobtrigger 函数的现有单元测试。 我升级到 .net 8 并且 FunctionContext 必须代替 ExecutionContext 才能允许使用 RetryCont...

回答 1 投票 0

如何在单元测试中模拟依赖注入对象

我的项目需要单元测试。我在控制器中使用构造函数依赖注入。当我在单元测试项目中模拟注入的依赖项对象并在测试方法中调用它时。罗...

回答 1 投票 0

模拟记录

在我的应用程序中,我有一堆 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

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