问题标签 [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.

0 投票
1 回答
570 浏览

delphi - 隐藏 VCL 类

有一些程序工具,例如 WinSpy++,它允许您将鼠标悬停在任何控件/组件的句柄上并返回该句柄的类名。因此,例如,如果我在 Delphi 窗体上放置了一个 TMemo 并编译了应用程序,如果我使用 WinSpy++ 并将鼠标悬停在应用程序上(在备忘录上方),它将显示编辑器的类名称为 TMemo。

现在,假设我不希望任何人使用这样的程序来确定我在我的应用程序中使用的组件,我将如何防止类名出现在诸如 WinSpy++ 之类的工具中?

我问是因为我不希望任何人轻松创建我可能创建和发布的任何应用程序的克隆,如果发现我正在使用的组件的类名,这将使他们的任务更容易,因为他们知道使用什么。

简而言之,如何将我在 Delphi 应用程序中使用的 VCL 的类名隐藏在 WinSpy++ 等外部查看器工具中。

WinSpy++ 可以在这里找到:http: //www.catch22.net/software/winspy

另外,我知道我可以自定义派生这些组件以将类名称更改为我自己的,但它们必须是一种更简单的方法。

0 投票
1 回答
1310 浏览

windows - 为什么某些项目在 Spy++ 的 Windows 视图中显示为灰色?

要修改另一个程序的窗口,我需要SysTreeView32使用EnumChildWindowsAPI 调用在其中找到一个特定的窗口。

当我使用 Spy++ 检查窗口时,其中有许多SysTreeView32',但除了一个,它是我正在寻找的一个之外,所有的都是灰色的。

下图是灰色项目的示例:

为什么有些项目是灰色的?

为什么显示的项目是灰色的,Spy++ 使用什么 API 调用来知道它是否应该使项目变灰?

0 投票
2 回答
21634 浏览

java - Mockito + Spy:如何收集返回值

我有一个使用工厂创建对象的类。在我的单元测试中,我想访问工厂的返回值。由于工厂直接传递给类并且没有为创建的对象提供getter,我需要拦截从工厂返回的对象。

是否有可能访问工厂的返回值?可能使用间谍?
我能看到的唯一方法是模拟工厂创建方法。

0 投票
5 回答
6397 浏览

view - SpyOn 使用 jasmine 的主干视图方法

我有一个主干视图,我想创建一个测试来确认某个元素上的单击事件将调用绑定到该元素的函数。我的看法是:

我的规格是:

然而,上面的视图定义在原型proto上创建了 answerYes 方法,但是间谍在视图中的实际实例上创建了一个函数,所以我最终得到了一个 view.answerYes() ,它是间谍和 view.__proto__.answerYes,这是我真正想要监视的那个。

如何创建一个间谍,以便它覆盖视图定义的 answerYes 方法?

0 投票
7 回答
40426 浏览

java - mockito:如何取消模拟方法?

我有一个JUnit类,它使用不同的方法来执行不同的测试。

我使用Mockito在真实实例上创建一个间谍,然后覆盖一些与我执行的实际测试无关的方法。

有没有一种方法,只是为了在我之后进行清理,以防在我的测试之后运行的其他一些测试也使用相同的实例并且可能执行他们没有要求模拟的模拟方法来取消模拟方法?

假设我有一个名为“wareHouseSpy”的间谍对象

说我重写了方法isSomethingMissing

什么是取消覆盖的正确方法,并使间谍恢复正常,即下一次调用isSomethingMissing来运行真正的方法?

就像是

或者可能

谁知道?我在那个区域找不到任何东西

谢谢!

阿萨夫

0 投票
2 回答
28829 浏览

javascript - Jasmine - 在构造函数中监视方法调用

我想测试在我的 Javascript 对象构造函数中是否调用了以下方法。从我在 Jasmine 文档中看到的内容来看,我可以监视构造函数方法,并且可以在实例化对象后监视方法,但我似乎无法在构造对象之前监视方法。

物体:

我想在规范中做这样的事情:

0 投票
1 回答
3373 浏览

javascript - QUnit 中有 spyOn 类似物吗?

我正在为 Jasmine 和 QUnit 的不同测试用例编写规范以比较它们,并且在我需要编写测试以检查事件是否绑定到元素之前它们看起来相同。

事件绑定看起来像

page_clicked是一个私有方法,但它需要另一个模块的公共方法。

这是茉莉花规格:

这个测试有效。现在我正在尝试为 QUnit 编写相同的测试,但找不到类似于 spyOn 的任何东西。如何为 QUnit 编写这个测试?

0 投票
6 回答
73795 浏览

javascript - 使用 Jasmine 监视构造函数

我正在使用 Jasmine 测试是否创建了某些对象并在它们上调用了方法。

我有一个 jQuery 小部件,它创建翻转计数器对象并在它们上调用 setValue 方法。翻转计数器的代码在这里:https ://bitbucket.org/cnanney/apple-style-flip-counter/src/13fd00129a41/js/flipcounter.js

翻转计数器是使用以下方法创建的:

我想测试是否创建了翻转计数器并在它们上调用了 setValue 方法。我的问题是我如何在这些对象被创建之前监视它们?我是否监视构造函数并返回假对象?示例代码真的很有帮助。谢谢你的帮助!:)

更新:

我试过像这样监视flipCounter:

然后通过 flipCounter 测试 setValue 调用:

初始化 FlipCounter 的第一个测试很好,但是对于测试 setValue 调用,我得到的只是“setValue() 方法不存在”错误。我这样做对吗?谢谢!

0 投票
1 回答
680 浏览

spy - 控制台中常见的spy.js是什么

对不起,如果这很明显,但到目前为止我在网上找不到直接的答案......

spy.js 到底是什么?

我有时会在 Firefox 或 chrome 的控制台中看到它......它是否与 spry.js 有某种关系

我知道 spry 虽然是 adobe 的 js 框架..

0 投票
1 回答
661 浏览

jquery - jQuery Spy (vertical ticker):在第 4 次迭代后,列表项向下动画,增加容器的高度

我们正在使用 Remy Sharp 的 jQuery spy 插件来构建一个垂直的间谍代码。该模块在前 4 次迭代中运行良好,之后表现奇怪 - 列表元素最终会向下爬(增加实际高度)父容器(底部看到的黄色边框是父 div 的实际边框)。

我们在这个插件网站 (http://jqueryfordesigners.com/demo/simple-spy.html) 提供的原始演示中没有看到这个问题。

但它只发生在我们的页面上,有一些棘手的问题需要修复 - 请查看我们的页面,网址: http: //www.jean.net16.net/

非常感谢您的支持,提前!

PS。供您参考间谍插件源:http: //jqueryfordesigners.com/simple-jquery-spy-effect/