问题标签 [justmock]
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.
c# - JustMock 实体框架更新记录
我已经阅读了 JustMock 上的示例(我们有付费版本仅供参考),但在更新记录(不添加)方面遇到了困难。
我有一个 ILogRepo
我有一个 LogInteraction
我已经模拟了一个假的 LogEntries(它是一个 IList)。最后但并非最不重要的测试
在我的测试中,我的 _mockLogRepo 没有被我的 LogInteraction 更新。单步执行代码一切似乎都很好。如果我检查上下文并查找更改,则返回 false。我认为我已经很好地匹配了 Telerik 网站上的示例,但我只能找到有关添加(以及通过推断、删除)的信息。但是由于这两个是实际方法并且更新不在实体框架中,所以我有点不知所措。我的代码将在生产中工作,但我希望它也能在测试中工作(有点意思)。
c# - JustMock 同一界面的多个 Mocks
在我们的解决方案中,我们曾经有一个非常古老的 JustMock 版本。我们编写了大约 7000 个测试,有时会出现一种模式是为所有测试用例设置某个接口的默认模拟,并在某些测试中“覆盖”该默认模拟。
这意味着在几百个测试中,我们创建一个模拟并安排它,然后创建另一个相同类型的模拟并安排它。然后我们将对第二个模拟进行断言。
几个月前我们更新到当前版本,现在这些相同类型的多个模拟似乎不再工作了。举个例子。我创建了两个相同类型的 Mocks 并断言第二个 mock 被调用一次。使用 2012 版的 JustMock,此测试失败,但使用更新的版本则不会失败。
那么 JustMock 在做什么,这会阻止我制作多个相同类型的模拟并对它们进行断言?为什么要这样做?
unit-testing - 断言属性已在模拟类中设置
我正在使用MockingContainer<T>
来自动设置我的依赖项。如何断言这些依赖项之一的属性已设置?
以下失败,调用 0 次,这是有道理的,因为我相信它正在查看 Getter,而不是 Setter。那么如何断言 Setter 是由被测单元调用的呢?
根据文档(对于不熟悉但希望尝试协助的任何人,位于JustMock DocsMock.ArrangeSet(lambda)
)看来我应该使用MockingContainer<T>
.
如果情况变得更糟,我就不能使用MockingContainer<T>
,但我宁愿不必为了适应一个特定的单元测试而重构我的测试套件。
并不是说它与问题真正相关,但如果有人需要它,这里有一个存根ApiInteractionService
c# - 另一个类中的 JustMock 助手在测试中返回 null
我将最常创建的模拟移动到扩展和帮助类中,以便能够在多个测试中重用它们。当事实证明它们明显依赖于上下文并且坐在其他地方时不起作用时,我感到非常惊讶。
此代码演示了该问题:
有什么方法可以使JustMock
封装在其他类中的代码也可以工作吗?
c# - JustMock 捕获 CallOriginal 的返回值
我想知道是否有一种方法/解决方法可以从 JustMock 中的 Arrange 调用中捕获输出。
例如,这是我想做的事情:
我实际上已经做了类似的事情来捕获参数,但正如我所说,我无法弄清楚如何捕获返回值。以下是如何捕获参数:
编辑:找到了一个(荒谬的)解决方案。留下这个问题以防其他人需要它,或者如果其他人找到更好的方法。
这不适用于多线程应用程序,但它适用于我需要的东西。
c# - 无法使用 JustMock 模拟扩展方法
我正在尝试使用justmock模拟扩展方法。由于某种原因,它会引发以下错误:
“测试方法 TestProject1.JustMockTest.TestMethod 抛出异常:Telerik.JustMock.Core.ElevatedMockingException:无法模拟 'TestProject1.Foo'。必须启用探查器才能模拟、安排或执行指定的目标。”
我怎样才能解决这个问题?
c# - 使用 JustMock 模拟参数
我正在编写单元测试,我需要使用以下签名模拟目标方法依赖项之一的 out 参数:
我正在使用JustMock并尝试使用DoInstead
安排子句,但似乎不是那么明显。
请告诉我如何实现这一点,非常感谢提前。
c# - 如何模拟结构的多个实例?
我有一个struct
我想嘲笑的。在更复杂的测试中,我需要这个结构的几个实例,每个实例都有自己的行为。为此,我创建了一个辅助方法。
当我调试多次调用此方法的测试时,似乎该Arrange
调用已被结构的所有实例覆盖(或者我使用的是结构模拟而不是实例模拟?)。
我试过了:
但无济于事。如何获取结构的多个实例?
我正在使用:Microsoft Visual Studio Enterprise 2017 版本 15.9.17 VisualStudio.15.Release/15.9.17+28307.905 Microsoft .NET Framework 版本 4.8.03761
安装版本:企业版
JustMock 2020.1.219.1 Telerik JustMock 扩展。
添加示例:
编辑:交叉发布
我已经在 Telerik JustMock 论坛上交叉发布了这个问题
编辑:许可证扩展
我的试用许可证被慷慨地延长了。我已经更新了答案以反映这一点。
c# - JustMock 将按顺序返回许多返回
我正在安排在单元测试中调用一个方法,如下所示
1 和 2 将始终按顺序返回还是需要 InSequence() 链?
ReturnsMany 将按顺序返回值还是需要显式 InSequence?
c# - Mock.Arrange 它实际上做了什么?
我是测试新手,也是 JustMock 新手。
我已经写了我的第一个测试。
这是它正在测试的功能。
测试在失败时有效。
我不明白安排应该做什么。