问题标签 [moq-3]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
253 浏览

unit-testing - 通过模拟 Moq 框架中的 UserManger 和 Identity 扩展函数返回 Null 引用

我正在使用 Nunit 和 moq 模拟框架实现单元测试。在测试时,我成功地模拟了 Usermanager 和身份,但无法返回正确的值和数据类型。

模拟用户管理器

通过使用此代码,我能够模拟 UserManager 但在控制器身份引用中进行测试时返回 null

我无法添加声明,这会产生参考错误。

模拟身份

从这段代码中,我成功地模拟了 Identity 但无法访问 User.Identity.GetUserId() 的值,这会导致转换错误

无法将类型为“Castle.Proxies.ObjectProxy”的对象转换为类型“System.Security.Claims.ClaimsIdentity”。

0 投票
0 回答
159 浏览

c# - 如何使用 Moq 和 Xunit 为以下代码编写测试用例?

需要使用 moq 和 xunit 为以下代码编写测试用例。return null 不在代码覆盖范围内

0 投票
1 回答
121 浏览

c# - 使用 Moq 在 C# 中模拟测试一个类

我想在 Visual Studio 2019(版本 16.8.4)中使用 Moq 和 Nunit 模拟 C# 中的 GreetingMessageHandler 类

试图解决的测试是测试应该在实际运行时运行的“InnerHandle”函数,并测试它是否至少运行一次。这是我的代码:

我得到的错误信息是这样的:

测试方法 UnitTestProject.UnitTest1.GreetingMessageHandlerRun 抛出异常:Castle.DynamicProxy.InvalidProxyConstructorArgumentsException:无法实例化类的代理:SychroClient.Communications.Server。找不到无参数构造函数。

为了解决无参数构造函数问题,我尝试给函数提供空值来伪造参数。但它没有用,现在我真的很想知道为什么以及如何解决这个问题。

0 投票
0 回答
54 浏览

c# - 如何在使用 AutoMock XNnit 模拟受保护的方法时注入依赖?

在下面的代码片段中,我试图模拟受保护方法的响应并测试调用受保护方法的公共方法的响应。受保护方法调用外部 API,因此我想模拟响应以测试调用受保护方法的公共方法。

当我尝试注入对公共方法使用的类的依赖项时,就会出现问题。它总是转到默认构造函数,忽略我传递的依赖对象。请让我知道我在哪里错过了更改。注意:我添加了默认构造函数只是为了理解流程。我不会在真正的实现中使用它。

测试方法

主班