问题标签 [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.
debugging - 预期为间谍,但收到带有 Sinon 存根的函数错误消息?
我有以下测试套件:
为什么第一个期望语句通过但第二个失败?第二个给出错误消息:expected Spy but got Function 即使 Sinon 存根实现了 spy API 所以它应该返回一个 spy??
unit-testing - 你如何用 Jasmine 监视 AngularJS 的 $timeout?
我试图监视 $timeout 以便我可以验证它没有被调用。具体来说,我的生产代码(见下文)将 $timeout 作为函数而不是对象调用:
并不是
然而,Jasmine 需要监视一个对象,如下所示:
我不知道'someObject'会是什么。
我正在使用 Angular 模拟,如果这有什么不同的话。
编辑:我正在尝试测试的相关生产代码如下所示:
在特定的测试场景中,我试图断言 $timeout 从未被调用过。
编辑 2:明确指定我使用 $timeout 作为函数,而不是对象。
jquery - 直接访问 jQuery 小部件工厂插件方法
使用 jQuery 小部件工厂,我想在内部测试调用方法。我怎样才能公开这些方法来监视它们?
我正在寻找引用小部件插件对象(在此处表示,WidgetPluginObject
因此我可以监视它的方法。
更新
这是为了使用 mocha/chai 进行单元测试;不适用于任何类型的调试。
javascript - 使用 jasmine 监视节点 child_process
我是 nodejs 和 jasmine 的新手。从事一个学习 javascript/node 和 jasmine 的小项目。我试图监视节点中的对象 child_process 并查看使用指定的参数调用方法'spawn'。
jasmine 错误报告当调用 spawn 方法的对象(在本例中为 Nndb)时,从不调用 spawn。但是实际工作是由子进程执行的,因为我在控制台中看到了打印的结果。
这是我在运行 jasmine-node 脚本时看到的失败:
失败:
1) 抓取 xyz 生成子进程消息:预期的 spy spawn 已使用 ['../src/scrape_nndb.js', 0] 调用,但它从未被调用过。Stacktrace:错误:使用 ['../src/scrape_nndb.js', 0] 调用了预期的间谍生成,但从未调用过它。在空。(/Users/arun.bakt/skunkWorks/scraping/spec/nndb_spec.js:30:41) 在 Timer.listOnTimeout [as ontimeout] (timers.js:110:15)
6.024 秒内完成 1 次测试,1 次断言,1 次失败,0 次跳过”
它的茉莉花测试文件:
下面正在测试的文件 nndb.js:
backbone.js - 用 Jasmine 监视 Backbone View 回调方法
我有以下看法:
我的规格如下所示:
我treeView.delegateEvents()
按照以下解决方案中的建议添加:
SpyOn abone view method using jasmine
但是我的测试仍然失败:
方法 foo 被按预期调用一次,怎么会呢?
java - 有没有办法在后台监控应用程序并且对用户不可见
我想做的是创建一个无需用户交互即可执行其功能的应用程序。这不应该在设备的应用程序页面上有任何应用程序图标。安装后用户不需要知道设备中运行的应用程序。我尝试在演示应用程序中使用无启动器活动,但它没有运行应用程序代码,这很明显。有没有办法完成这个任务,这有什么意义吗?
javascript - 如何在另一个方法中创建的对象上使用 Jasmine 间谍?
给定以下代码片段,您将如何创建一个Jasmine spyOn
测试以确认doSomething
在您运行时被调用MyFunction
?
这是我的测试的样子。spyOn
不幸的是,在评估调用时出现错误:
Jasmine 那时似乎不认识这种doSomething
方法。有什么建议么?
javascript - Jasmine-node - 在其他函数内部调用的构造函数上创建间谍
我是 jasmine 的新手,我需要在这个框架中为 node.js 应用程序编写一些单元测试。我有一些问题,其中之一是如下所述:
我想为sampleFunction
. 为此,我需要在Loader
构造函数上创建 spy 并检查此构造函数作为参数获取的内容以及它返回的对象类型。
任何想法如何做到这一点?我试图创建间谍,Loader.prototype.constructor
但这不是解决这个问题的方法。
java - Mockito 间谍方法不起作用
我遇到了 mockito.spy 方法的麻烦。
我最近来到一个“旧”项目,我的第一个任务是在其中添加模拟,并进行真正的单元测试:)
该项目有很多概念问题,但这不是重点;)
我解释我的问题:
我有一堂课
在我的测试类 TitiTest.java 我只想测试 executeTiti,我不想测试 executeToto 的东西,因为这个类有自己的测试类 TotoTest.java。
但正如您所看到的,toto 在titi 构造函数中实例化所以我尝试这样的事情:(我也在我的测试中使用 PowerMock,所以我使用的是 PowerMockRunner 但它似乎不是问题)
但真正的方法总是每次调用和 ret = 5 :(
我错过了什么吗?我在stackoverflow上阅读了很多关于此的帖子并尝试了所有解决方案,但它从来没有奏效,因为我认为我做对了。
我使用 junit4.11/powermock1.5.4/mockito1.9.5
typescript - jasmine spyOn 没有正确报告 toHaveBeenCalled 和 toHaveBeenCalledWith
被测代码:
规格测试对象:
调用 callLogonApi 函数并按预期写入控制台,但输出为:
*这现在与 ApiService 的构造函数一起工作,更改为:
*并且 spyOn 需要
感谢瑞安的精彩回答!!