问题标签 [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.
unit-testing - 在 Mockito 中监视时如何只检查方法调用而不执行
我正在尝试测试要验证的最终方法的调用。我不想执行那个。
如何只检查method1调用而不在被监视时执行?
谢谢你 !
javascript - 为什么 Jasmine 在监视 $.ajax 时不重置间谍?
我试图$.ajax
在 Jasmine 2.0 测试中进行监视。这是一个显示我的场景的简化示例(TypeScript):
firstTest
second test
如果我单独运行它们,也可以工作。但是,如果我如上所示运行这两个测试,我会收到以下错误消息:ajax has already been spied upon
.
所以我的问题是:
- Jasmine不应该在每次测试后自动重置间谍吗?为什么这在我的情况下不起作用?
- 有没有另一种使用方式
spyOn
可以让 Jasmine 重置间谍? - 如何手动重置间谍?
更新:我继续试验并自己找到了一个可能的解决方案。it
如果我在规范中设置了间谍,那么两个测试都运行良好。这是first test
显示我的意思的代码:
尽管如此,为什么第一个版本不起作用会很有趣。为什么 Jasmine 在第一个版本中没有重置间谍,而在第二个版本中却这样做了?
angularjs - Jasmine test for scope methods fails
I have an spec that test's if the method in scope was called (see below)
Application Code(Code to be tested):
Jasmine reports that "Expected false to be truthy.". How come ? since the method sets it to true !!
Update:
For some reason, SpyOn was mutating my object to something it was intended for. So below piece of code works good
java - Mockito Spy - 调用构造函数之前的存根
我正在尝试监视一个对象,并且我想在构造函数调用它之前对构造函数调用的方法进行存根。
我的课看起来像这样:
不得调用 setup 方法。那么,我如何监视这个方法(和存根设置,使其什么都不做)?
它可以很好地模拟该方法,但我想进行单元测试MyClass
,所以我需要其他方法。
需要对 setup 方法进行存根以使其不执行任何操作的原因:
我正在编写乐高机器人 (lejos),并且我在 setup 中放置了一些机器人需要工作的代码。但是,当我在 TinyVM(安装在机器人上的 VM)之外调用它时,java 崩溃,因为它没有正确初始化 VM(因为测试在我的 PC 上运行)。对于单元测试,设置并不重要。
我不能存根类/方法设置调用,因为其中一些是公共静态最终变量。
angularjs - Jasmine:在不存在的窗口对象上创建间谍
我正在与 AngularJS 一起构建一个 cordova / phonegap 应用程序。在我的应用程序中,我使用了一些来自 cordova 的本地插件,例如地理定位插件。
在我的测试期间,这个插件不可用(因为 phonegap 不存在),在我的测试中$window.plugins
返回。undefined
当然,$window.plugins.anotherPlugin
也失败了。
因此,我必须为我的测试模拟这些部分。目前,我正在这样做
但是,如果将来另一个库使用$window.plugins
命名空间,而我在我的测试中覆盖它呢?这会破坏其他测试。使用上述方法,我必须在测试后进行一些清理,以确保$window.plugins
设置旧值。我认为,这种方式不是很干净,我想知道是否有更好的方式来处理茉莉花。
所以我的问题是:我怎样才能$window.plugins.anotherPlugin
通过用茉莉花创建虚拟函数来监视,而不影响其他测试,什么时候$window.plugins
不存在?
android - 是否可以对 Android 应用进行子类化?
我想为不支持插件的现有应用程序开发一个插件(例如 Whatsapp)。在 Windows 系统上,这将非常容易,因为我可以继承和监视现有窗口消息或添加新消息,从而可以在运行时更改任何应用程序的行为。
类似的东西在Android上也可以吗?还是它的安全模型阻止了我的插件和应用程序之间的交互?
java - 改变模拟间谍的领域
所以可以说我有一堂课
现在我正在测试这个类,我把它放到一个模拟中
问题是:realClass.justAField
现在等于什么?
编辑:响应@fge 这没有失败。
那么 testClass 中的 wFile 现在是模拟的还是原来的?
javascript - 茉莉花间谍未调用
我是茉莉花间谍的新手。
这是我的测试:
就像在我的 endpointService 中一样,我有:
和我的 _doSteps 方法:
它记录'在dosteps中!在间谍抱怨没有调用 _doSteps 之前。我该怎么做呢?
xml - XML Schema:元素属性作为唯一值?
我正在制作 XSD 模式来验证我从 java 生成的 XML 文件。它与天气有关,我想让value
里面变得date
独一无二。
这是测试 XML 文件:
所以这不应该在这里通过验证,因为value
应该是唯一的,为什么这不起作用?
testing - Spock测试框架中Mock / Stub / Spy之间的区别
我不明白 Spock 测试中 Mock、Stub 和 Spy 之间的区别,并且我一直在网上查看的教程没有详细解释它们。