问题标签 [moq]

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 投票
4 回答
3739 浏览

unit-testing - 未在模拟上执行最小起订量调用

试图了解 verifySet 等的使用......但除非我做一个解决方法,否则我无法让它工作。

有人可以澄清我应该如何在属性上使用 VerifySet 和 Verify 和 VerifyGet 吗?我越来越糊涂了。

0 投票
3 回答
7050 浏览

c# - 对 HttpApplication 进行单元测试

我有一个派生自 HttpApplication 的类,它添加了一些额外的功能。我已经到了需要对这些功能进行单元测试的地步,这意味着我必须能够创建 HttpApplication 的新实例、伪造请求并检索响应对象。

我该如何对 HttpApplication 对象进行单元测试?我目前正在使用 Moq,但我不知道如何设置所需的模拟对象。

0 投票
1 回答
2068 浏览

c# - 如何模拟 HttpResponseBase.End()?

我正在使用 Moq 创建 HttpResponseBase 的模拟对象。我需要能够测试在我的库中调用了 HttpResponseBase.End() 。为此,我在调用之前指定了一些文本,在调用之后指定了一些文本。然后我检查 HttpResponseBase.Output 中只有调用 End() 之前的文本。

问题是,我不知道如何模拟 HttpResponseBase.End() 以便它停止处理,就像在 ASP.NET 中那样。

0 投票
3 回答
1298 浏览

wpf - 为什么我的 Moq IEventAggregator 验证失败?

我使用复合 WPF(棱镜),我试图单元测试我的控制器确实订阅了复合事件。

我的订阅代码如下...

我的单元测试代码如下所示(我使用 Moq 作为我的 Mocking 框架和 Unity 作为我的 DI 框架)...

正在调用此订阅方法(我已通过使用调试器运行验证),但验证始终失败,并显示“未在模拟上执行调用:e => e.Subscribe ...”

知道我做错了什么吗?

0 投票
2 回答
1773 浏览

unit-testing - 起订量自定义身份

我创建了一个自定义 RoleProvider(标准 web 表单,没有 mvc),我想对其进行测试。提供者本身与 IIdentity 的自定义实现集成(带有一些附加属性)。

我现在有这个:

但是,当我在 VS2008 中运行此测试时,我收到以下错误消息:

不可覆盖成员上的无效设置:id => id.IsAuthenticated

为什么会这样?最重要的是,我需要做什么来解决它?

格兹,克里斯。

0 投票
1 回答
670 浏览

unit-testing - 使用 Moq 对自定义 RoleProvider 进行单元测试?

我在自定义库中创建了自定义 RoleProvider。我想对它进行单元测试。通过 Moq 我创建了一个假的 HttpContextBase。如何将此传递给要测试的 RoleProvider?

Identity 是一个自定义测试实现类。这工作正常。我只是不知道如何在我的提供者中传递虚假上下文。如果需要信息,这不是 MVC 应用程序,而是标准 Webforms。

格兹,克里斯。

0 投票
1 回答
708 浏览

c# - Moq 中“验证”方法中的奇怪行为

在以下代码中,Test1 成功但 Test2 失败:

这种行为实际上非常有用,但我不明白为什么它会这样工作。看来Test2也应该成功!

我唯一的想法是,以某种方式验证足够聪明,知道“myMethod”是从不同的测试用例调用的,所以它“不算数”?

顺便说一句,即使我在 Test1 中删除了对验证的调用,也会发生同样的事情(Test2 失败)。

0 投票
1 回答
7368 浏览

c# - 是否可以模拟数据库事务参数?

我正在尝试对接口的实现进行单元测试,但在成功地将 SqlTransaction 参数模拟为接口方法之一时遇到了一点困难。

这是我感兴趣的接口和被测方法的样子..

我一直在使用 Moq 和各种语法方法来模拟数据库对象并且运气不佳..(我必须对 System.Data.Common 对象进行一些转换才能更进一步.. DbTransaction、DbConnection、DbCommand 等)。

我想知道的主要是是否可以以这种方式模拟交易,或者我是否在这里吠叫错误的树。幸运的是,我可能能够将接口转换为使用通用 DbTransaction 参数而不是提供程序特定的 SqlTransaction,但我不相信这就是我在模拟时遇到困难的原因。

这是(这可能是完全错误的,所以如果我不正确地接近这个,请纠正我或评论)到目前为止我有什么用于模拟代码......

但是,这似乎会在 mockCommand.Setup 行上引发 ArgumentException ..(在不可覆盖的成员上设置无效)

有没有人对我如何能够使用模拟的 SqlTransaction 参数正确地对该方法进行单元测试有任何想法或建议?

0 投票
1 回答
14757 浏览

c# - Moq 的“短路”无效方法?

我的团队最近决定使用 Moq 作为我们的模拟框架,因为它具有极大的灵活性和高度可读的语法。由于我们是新手,所以我在看似简单的问题上绊倒了——搜索(这里,谷歌等)发现很多关于起订量其他细微差别的讨论,但不一定是我所追求的,并且几个看似相关的问题变成了红鲱鱼。

我们正在测试一个具有外部依赖项的类(准确地说是 Amazon SimpleDb),但不希望我们的测试绑定到实时连接。具体方法:

  • 应用一些“业务”逻辑
  • 如果合适,通过我们构建的提供程序调用 SDB,让我们调用它SaveItem()

我想对此进行单元测试,以便我们设置所需的上下文并确保它SaveItem()被调用,但是以一种SaveItem()真正没有被调用的方式(因为 A)SDB 的提供者是一个没有完全水合的模拟,可能会爆炸B)我不想为那笔交易支付成百上千次)。

在处理返回值的方法时,这是微不足道的。

不过,在我上面概述的情况下,我的 " SaveItem()" 方法是无效的,因此使用 MoqReturns()方法的选项不可用。虽然我可以设置一个回调来验证是否SaveItem()被调用,但我似乎无法让它实际上不做任何事情。

天真/充满希望,我认为以下方法会起作用,但它似乎仍然调用该方法:

所以百万美元的问题:以下虚构代码的起订量是多少?

0 投票
1 回答
4177 浏览

moq - 起订量设置属性不起作用

当 moq.SetupProperty 在下面的代码中失败时,有人可以告诉我下面的代码是否会爆炸: