问题标签 [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 投票
2 回答
833 浏览

javascript - 茉莉花测试:如何窥探特殊功能?

我是测试、Jasmine 和 Javascript 的新手,也许这个问题是微不足道的。我必须用 Jasmine 测试一个功能:

测试看起来像这样:

但这不起作用。它说:

我必须做什么才能监视该方法?我已经尝试在运行该函数之前加载backbone.js 文件,但这并没有改变任何东西。

0 投票
1 回答
1426 浏览

javascript - Javascript Jasmine 测试:防止被测函数从被测函数中创建的对象调用函数

我想用 Jasmine 测试一个 Javascript 函数,它的结构如下:

editUserView.generate()导致错误。没关系,因为我不想测试它。但是我怎样才能防止它被调用呢?

EditUserView是一个 RequireJS 模块,它扩展了另一个名为BaseView. 该函数generate()在 中定义BaseView。还有其他模块可以扩展BaseView,我希望它们都不要在测试时调用生成。我怎么能用茉莉花做到这一点?似乎不可能,因为调用函数时spyOn(...).and.callFake()我没有对象。editUserView有没有一种静态的方式来告诉 Jasmine 中的callFake()函数?generateBaseView

0 投票
1 回答
654 浏览

angularjs - 我的 Karma 间谍没有使用我的控制器功能

我的规格:

我的控制器:

所以我的buildScheduleUrl函数似乎没有被调用。我究竟做错了什么?

0 投票
1 回答
1580 浏览

javascript - Angularjs 单元测试解决承诺

我可能做错了,但我不知道如何解决它。

我想测试一个使用资源 (ngResource) 的控制器,并且我想使用 Spy 作为资源的测试替身,因此它实际上并不执行 http 调用。在下面的代码中,我只想测试控制器中的搜索功能。

控制器:

服务:

登陆Ctrl的规范:

测试执行没有错误,但它没有解决承诺就通过了,所以我在“then”函数中的代码永远不会被调用。我究竟做错了什么?

我已经创建了一个具有上述内容的 plunker 和一个应该失败的测试:

http://plnkr.co/edit/adE6fTajgbDoM33rtbZS?p=preview

0 投票
1 回答
19509 浏览

angularjs - 期待间谍但未定义?

试图了解茉莉花间谍,这就是我的测试的样子:

我的单元测试如下所示:

我现在收到此错误:

建议?

0 投票
1 回答
5437 浏览

javascript - Trying to spy (Jasmine) on Array.prototype methods causes stack overflow

This is pretty odd. Using the testem runner with jasmine2 and the following spec executes (though it correctly flags that there are no expectations):

However, add an expect (any expect!) and it causes the stack to overflow with the following message in the testem console: RangeError: Maximum call stack size exceeded. at http://localhost:7357/testem/jasmine2.js, line 980 The html report page gets up to the spec and then hangs without showing any actual results.

Ultimately I'd like to do something like this:

Thanks in advance to anyone who can shed light on this oddity. Can I not spy on native prototypical methods?

0 投票
1 回答
236 浏览

linux - 如何监视 linux 二进制文件以测试 shell 脚本

抱歉,如果这是重复的,我不知道要搜索什么...

我的用例更复杂,但可以缩小到以下问题:

我想运行一个 bash 脚本,它调用各种二进制文件,例如:grep。我想断言二进制文件是用正确的参数调用的。这些断言应该是自动化测试的一部分,我不想手动开始检查。这应该进入 ci 循环。

有一些标准的方法吗?

如果没有,我想移动我希望断言的所有二进制文件,用间谍替换它们,该间谍首先记录参数,然后调用原始二进制文件,最后删除自身并返回原始二进制文件。

这可行吗?有没有更好的方法来解决这个问题?

0 投票
0 回答
122 浏览

node.js - 使用 test spy 记录 REST 请求和响应

我正在尝试使用sinon.spy来记录通话

之前每个

如果间谍功能不同步,是否可以在回调中访问“返回值”?

0 投票
0 回答
672 浏览

javascript - 如何使用 qunit 测试 spy 参数是否是 sinon.js spy 中的特定函数

如何测试在 sinon.js 的间谍函数中是否将匿名函数作为参数传递?想象一下这样的功能。

我在我的测试设置中为 otherobj.anotherFunc 创建了一个间谍,并且可以轻松测试是否使用第一个参数(一个 js 对象)调用了我的间谍。

但是当我尝试测试第二个参数是否回调等于另一个函数时,我遇到了一些问题。

有没有办法测试它?

0 投票
1 回答
373 浏览

java - 2种方法的Junit Mocking

这是我班级的定义:

我想使用junit测试方法2。method2() 中的 method1() 调用应该返回一个有效的 z。我该怎么走?