问题标签 [ninject-mockingkernel]
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.
unit-testing - 为什么使用 Ninject.Moq 进行以下模拟不起作用?
我正在尝试使用 Ninject.Moq 运行以下代码:
这是 ABC 类定义:
我收到以下异常:
System.ArgumentException:在模拟类型上找不到给定参数的匹配构造函数。---> System.MissingMethodException:找不到类型“AbcProxya759aacd0ed049f3849aaa75e2a7bade”的构造函数。
ninject - 如何使用 Ninject 的 MockingKernel (moq) 设置模拟
我很难弄清楚如何.SetupXXX()
调用. 任何人都可以阐明它应该如何工作?Mock<T>
MockingKernel
unit-testing - 使用 MockingKernel 对抽象类进行部分模拟?
我有一个带有依赖项的抽象类,我想对其进行单元测试:
我想使用 NInject 的MockingKernel测试这个类,所以我鼓起了以下内容:
但我遇到了问题。它正在寻找一个无参数的构造函数来创建部分 BaseClass 模拟,而不是传入模拟的 IDependency。
查看源代码,MockingKernel 似乎永远不会在创建时将参数传递给模拟。
有没有办法用 MockingKernel 创建一个部分模拟?
c# - 使用匿名参数模拟
我正在尝试模拟我的存储库层,并且我有一个方法GetSelection(Expression<Func<T, Boolean>> where)
。我正在使用带有Moq的Ninjects MickingKernel来实现这一点。
当我执行以下操作时,这很好:
但是当我尝试在我的表达式中添加一个额外的参数时,我得到一个ArgumentNullExeption
:
当我将服务更新为以下内容时:
如果我将 myObject.Id 更新为 1,这似乎很好。
任何想法为什么会发生这种情况?
ninject - Ninject MockingKernel 与破坏者
是否可以使用 MockingKernel 自动生成模拟对象,如果与之交互,将引发异常(又名破坏者)?
当您想要获取具有各种依赖项的对象时,这很有用,但您知道您的代码应该只与其中一些进行交互。如果您没有明确地Bind
依赖(通过ToMock
等),它应该返回一个在第一次与之交互时抛出异常的对象。
这比等到代码完成执行,然后编写一堆检查以确保您没有调用模拟要好得多。
这已经存在了吗?
c# - 使用 Ninject MockingKernel Moq 如何为同一个接口注入多个模拟
我希望测试的 C# 类接受同一接口的 IEnumerable 实例。我使用 Ninject 进行依赖注入。我如何使用 Ninject MockingKernel Moq 将模拟注入 IEnumerable
这就是我的常规绑定的样子
像下面这样设置模拟只将最后一个模拟注入 Foo (应该注入 3 个模拟)
任何帮助表示赞赏。谢谢
c# - Mock a method returning an interface with NInject Mocking Kernel
Say I have an interface like this.
How do I mock the method which return an interface and a list of interface objects. I am using Ninject.MockingKernel.Moq
mocking - 部分模拟安全是一种好习惯吗?
我正在为使用 Ninject 和通用存储库的项目引入使用 NUnit、NSubstitute 的自动测试。
对于回归测试,我将通用存储库替换为内存中的存储库,以防止使用数据库。
此外,为了测试服务的安全约束,我正在模拟如下所示的安全服务:
每个回归测试都会像这样伪造当前用户:
基本上,它会注意替换基于上下文的方法(即HttpContext
在我的情况下),但保持其他方法不变。
每个被测试的服务都会在这个初始化之后被实例化,所以我确信注入了合适的实例。
问题:可以像这样模拟服务还是反模式?
c# - MockingKernel 命名多重绑定作为构造函数参数
所以假设我有一个带有两个实现的接口
我有一个接受 aSword
和 a的对象Dagger
。我使用文档Named
中描述的多重绑定。
当我在运行时情况下将它与正常绑定一起使用时,这很好用:
当我使用模拟内核时,这不起作用:
我收到以下类型的错误: