问题标签 [spy]
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.
java - 在测试方法中模拟 logger.debug() 调用
我有一个我正在尝试测试的方法,比如说methodToTest()
。在这个方法里面是一个我认为是Logger
变量的调用,比如:
问题是 logger 变量是在类之外声明的(它似乎是继承的),我没有它的来源。
当我创建一个测试类的实例,然后调用该methodToTest()
方法时,我得到一个NullPointerException
atlogger.debug
语句。
我怎样才能完全模拟记录器?它在测试本身期间没有用。
给我一个错误,即使我Logger
在测试类中创建了一个变量。
我在想我也许应该使用间谍,但我不确定如何,然后不确定如何处理我目前的when().thenReturn();
陈述。
根据@kamil 的建议,
代码抛出以下错误:
unit-testing - Backbone.js 中的 Mocha.js 和 sinon spy
我有一个假人Backbone.Model
和Backbone.View
我的模型如下:
对于测试,我使用 mocha.js + chai + sinon,我有以下测试
我试图测试的是监视该render
方法:当我更改模型属性时,render
将调用该方法。但是,即使渲染正常执行,测试也会给我错误
有什么帮助吗?
angularjs - 将 Jasmine spyOn 与 $resource 一起使用
我正在尝试使用 Jasmine 间谍来测试在 $resource 上调用查询的控制器。当我按如下方式编写对资源的调用时,我可以获得成功的测试(下面链接的 plunk 中的实现 1)
但我宁愿这样调用资源(下面链接的 plunk 中的实现 2)
这是我的规格
知道为什么实现 2 无法通过测试(即使它运行良好),以及如何编写测试以通过实现 2?
angularjs - 我如何监视模拟服务 AngularJS / Karma?
我想写一个测试spyOn
ifisAuthenticated
被调用 from UserService
。在我的beforeEach
,我有:
任何帮助将不胜感激..谢谢
c# - MAPIfolder 相关的内容不能始终从 Outlook 获得?
使用 ac# vsto addin 我正在尝试访问收件箱文件夹的相关内容,我认为它代表了活动视图。(目标是弄乱 pr_view_state 属性中的 blob)。问题是只有当我首先从 UI 访问“视图设置”时,才能访问该项目。顺便说一句,即使使用 Outlook Spy,我也观察到相同的行为
正如我所说,如果我在 Outlook GUI 中使用视图设置,那么上面的代码可以工作(项目也显示在 Outlook Spy 中),如果没有,则 pr_normalized_subject 返回一个空字符串,访问 pr_view_state 属性会引发异常。我究竟做错了什么?
javascript - 如何为 jquery 调用`$(some)` 创建一个间谍?
我定义了一个 requirejs 模块来提供一个获取浏览器宽度的函数:
浏览器工具.js
现在我想为它编写单元测试,所以我想模拟jquery
:
你可以看到我想用:spyOn(jquery, "apply")
来模拟,但是这个测试不起作用,似乎我发现了一个错误的方法。
如何解决?
java - 如何使用 mockito spy 进行惰性评估?
我想使用 mockito 间谍。
当我通过以下两种方式设置返回值时:
我看到正在热切地评估返回值
表示何时执行此“设置”行。
我怎样才能强制间谍只在需要时评估返回值?
表示何时满足“何时”条件。
更新
感谢@RobbyCornelissen,我尝试了以下代码:
但这没有帮助:
1) "when" 表达式被立即调用。(不想要)
2)最终没有调用回调。
java - 如何验证使用“null”参数调用间谍
我正在尝试运行此行:
验证这个方法是用 null 作为第二个参数调用的。
但我收到此错误:
如何验证使用 null 作为第二个参数的调用?
javascript - 仅在 Javascript 中模拟构造函数(使用 spyOn)
我在这里做类似这个问题的事情,它允许我在我的测试中提供我自己的Date
构造函数实现
我现在遇到了一个问题,我想升级 moment.js 并且他们在我用我的模拟 Date 对象调用的代码中使用了额外的 Date 函数。这些功能不存在:
所以我认为我需要做的是以某种方式只模拟构造函数Date
并让其他函数通过它。
我尝试了各种形式的.andCallThrough
以及将它需要的函数分配给 spy 对象都无济于事(例如,spy.UTC = OldDate.UTC
)。有任何想法吗?
java - Mockito 间谍如何知道它何时进行间谍活动?
文档中的这段代码让我完全困惑:
我明白了,Mockito 很奇怪,而且几乎不在 Java 中。令人困惑的事情是spy.*
在它知道它是否被包裹在一个when()
或什么东西之前必须完全评估。第spy.*
一种方法到底怎么会不调用真实对象,但后来的方法呢?