问题标签 [automocking]

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 投票
1 回答
1429 浏览

c# - Ninject:使用 NSubstitute 进行自动模拟?

谁能帮忙,我在使用 Ninject 和 NSubstitute 之间可用的自动模拟时遇到问题,实际上该包是一个名为 ninject 的打包调用 Ninject.MockingKernel.NSubstitute,它应该允许我使用 Ninject 创建模拟并返回注入模拟的实例。

Moq 和 Rhinomocks 似乎有一些示例,但我没有看到 NSubstitute 的任何示例。

到目前为止我所拥有的是

有人用吗?

0 投票
1 回答
187 浏览

c# - 将 Ninject.MockingKernel 限制为仅在我自己的命名空间中模拟类

我刚刚切换到使用NInject.MockingKernel扩展程序进行测试(NSubstitute)。

但是,运行我的 Web API 集成测试非常困难,因为它也会返回所有 Web API 接口的模拟。

我可以自动将其应用程序限制为我自己的命名空间吗?

0 投票
1 回答
17441 浏览

qt - CMake 和 Qt5 AUTOMOC 错误

我有一个使用 Qt5 的项目,并且我有一个CMakeLists.txt用于创建 Visual Studio 解决方案的文件。

这是我的摘录CMakeLists.txt

当我尝试编译代码时,它返回以下错误:

moc 文件已自动生成,并且标头不在 build 文件夹中,而是在 src 目录中的文件夹中。

如何解决此错误?

0 投票
1 回答
462 浏览

c++ - 通过 automoc 处理同名文件

有以下源代码树:

./Source1.hpp 和 ./subsource/Source1.hpp 这两个文件都必须由 moc 处理。使用 automoc 时,它会将输出 moc 文件以相同的名称放在同一个目录中,因为它不可能覆盖文件。

Qt - 5.2

CMake - 2.8.12

CMake 文件相当大,但这里有一个简短的示例:

有什么解决办法吗?

0 投票
2 回答
1004 浏览

ioc-container - 使用 LightInject 和 Nsubstitute 进行自动模拟,怎么样?

我对这两个库都是新手,在将它们用于大型项目之前,我需要澄清我的单元测试中低代码工作量自动模拟的选项。

在 Google 上花了一些时间后,我得出的结论是,与其他一些 IOC/Mocking 产品配对不同,LightInject+Nsubstitute 没有现成的插件库来简化在一个单元的排列阶段的无操作默认模拟的声明测试。

我已经阅读了 LightInject 文档,了解如何使用临时增强的模拟对象覆盖 LightInject 容器,仅用于单元测试的范围,但是单元测试可能涉及的所有无操作默认隔离模拟呢?有没有办法在 LightInject 容器中自动创建它们?

我正在寻找的内部 IOC 容器行为是:

看起来 LightInject 的 IProxy 和 Interceptors 提供了一些内部模拟对象构建块,但相比之下 Nsubstitute 库功能齐全。

澄清我的意思是默认不做任何模拟和增强模拟。

显然,第二种增强类型的模拟将需要在每个单元测试中本地制作。

0 投票
0 回答
237 浏览

c# - 如何将 Automoqer 与 autofac 一起使用

我正在尝试解决一个具有 autofac 容器的具体类

我的设置是这样的

我的具体课程看起来像这样

初始化方法 xx 抛出异常。

我的容器配置也是这样的

0 投票
1 回答
109 浏览

unit-testing - 如何扩展 Unity 容器以进行自动模拟?

我希望 Unity 在单元测试中自动为 SUT 的依赖项注入模拟。

我更喜欢某种IServiceProvider实现来自定义(如果需要)模拟创建。

可能吗?

PS 我们使用 TypeMock

0 投票
1 回答
1014 浏览

c# - 使用 NSubstitute(或其他东西)统一和自动模拟

我的问题源于这个问题:Unity(而不是温莎城堡)是否有可能?

这是答案中的课程:

那里发布的解决方案适用于单个对象。如果您看到发布的解决方案,每次我调用 Resolve时它都会返回相同的对象

这在如下测试用例中很好:

上述问题中发布的解决方案适用于上述问题。

上面的代码通过 Unity 创建了一个对象并尝试解析构造函数参数,如果该类型未在 unity 配置中映射,则通过 NSubstitute 返回一个模拟。

如此有效的链条可能是:

问题是如果我创建 2 个这样的对象,模拟指向同一个对象。

如果我在 GetOrCreateSubstitute() 方法中删除了 CONTAINS 检查,那么我每次都会得到一个新的模拟......但是我如何访问特定对象的模拟以设置对它的期望?:-(

我希望我对这个问题很清楚!

0 投票
1 回答
360 浏览

mocking - 具有非接口依赖项的 AutoMocking 类......框架是否支持这一点?

我正在尝试模拟一个依赖于具体类的类,就像:

AutoMockContainer 支持具有非接口依赖项的自动模拟类

我尝试了 3 种不同的 AutoMocking 框架(Moq.Contrib 中包含的 UnityAutoMoq、AutoMoq 和 AutoMockContainer)。这些框架都不支持为具体依赖项创建模拟。我知道 Mark Seeman 给出了一个关于如何使用 autofac 执行此操作的示例,但我不明白为什么这些框架不支持开箱即用。有没有我没有尝试过的支持这个的框架?如果没有,有人可以帮我用 Unity 做到这一点吗?

我和一位同事整天都在为此苦苦挣扎,但没有找到答案,我们将不胜感激。

0 投票
1 回答
1875 浏览

asp.net-mvc - ASP.NET MVC 中的 Autofac 自动模拟

所以我试图在 ASP.NET MVC 5 中使用 Autofac Automocking,但由于某种原因我无法让它工作。

这是到目前为止的测试:

模拟 ApplicationUserManager 时测试失败。错误是这样的:

尝试自动模拟 ApplicationDbContext 时会发生同样的事情,它有一个非常简单的构造函数,所以它甚至不应该有任何问题。我是 Mocking 的新手——在这种情况下我应该怎么做?

编辑:也是一个不相关的问题,也许你们知道 - 我注意到当使用先前在测试中创建的列表为 DbSet 创建 Moq 时,我必须这样做:

看起来真的很不直观。有没有办法只告诉模拟拿名单?所以像:

或者以任何其他方式从现有列表中快速创建 DbSet Moq,而无需编写这 4 行额外的行?