问题标签 [spyon]
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.
angular - 由于构造函数中存在方法调用,无法进行角度单元测试
由于组件构造函数中存在方法,无法运行角度单元测试。
//我的规范文件
当我尝试为 testMethodNonc() 运行单元测试时,函数 testMethod() 也与此方法一起运行,因为它存在于构造函数中。是否可以通过模拟函数 testMethod 单独执行 testMethodNonc()?
javascript - 使用茉莉花进行窗口位置搜索的Angular 7模拟和返回值
使用 Jasmine 对 Angular 7 进行单元测试。我需要window.location.search
在 Jasmine 中设置值。
我尝试了以下场景。
如何设置window.location.search
值?
angular - Testing angular auth guard redirection
I have an Angular authenticated
guard
And I have these tests with a mock window I am injecting so that my test windoe doesn't redirect and so I can check to see if the href
is set
The expect(redirectSpy).toHaveBeenCalledWith('/login');
always fails saying it was never called at all. Same with just expect(redirectSpy).toHaveBeenCalled();
- What am I doing wrong here? I want to be able to test this redirection, but I don't want my karma test browser to actually redirect.
(FYI: I need to use window.location.href
instead of the angular router so we can direct users to a different non-angular application that handles the login)
node.js - 如何使用 jest.spyOn 函数来测试另一个文件中的函数
我正在尝试运行测试用例来测试我的 Web 服务的入口点,我在运行单元测试时遇到了一个问题。无法监视异步函数,因为它是属性而不是函数。
我正在尝试测试是否在 server.js 文件中调用了 run 函数
入口文件有点像下面。
测试文件如下
测试应该可以正常运行,但是在运行此测试时出现以下错误
angular - 如何在 Function 内部 SpyOn 函数并返回 Fake 值
这个问题似乎是相同的,但绝对不是重复的。
在我的一个函数中,我正在调用this.cordovaFile.readAsArrayBuffer(this.cordovaFile.dataDirectory, key)
这cordovafile.readAsArrayBuffer()
从 ipad 文件存储中读取数据,但在单元测试中我不能这样做,因为它在浏览器中运行,所以我使用 SpyOn 来获取假值,我很难做到这一点。
下面有人可以帮我吗?
这就是我要编写的单元测试的方式,我不知道如何 SpyOnthis.cordovaFile.readAsArrayBuffer(this.cordovaFile.dataDirectory, key)
并返回值
this.cordovaFile.readAsArrayBuffer()
应该返回类似下面的假值
angularjs - 如何监视也被属性引用的函数
鉴于此代码:
这个测试代码:
但我收到此错误消息: Expected spy function(){return i} to have been called。
所以我猜只有this.getAnimal = getAnimal
被监视的,而不是函数。我怎样才能解决这个问题?
javascript - 在调用链更深时不调用 Jest spyOn
我以为我可以spyOn
在我的模块中使用一个函数,但它没有注册为被调用,即使它显然是。这是一个归结为sample.js
:
这是它的笑话测试./__tests__/sample.test.js
:
测试失败:
预期的模拟函数已被调用,但未被调用。
如果我监视它,它可以正常工作,func1
但为什么不使用调用的函数func1
呢?
angular - spyOn 响应返回为空
当监视此服务调用时,数据返回为空。类型转换似乎不适用于 resp。
reactjs - 将 Jest 更新到 24.9 后未使用 React useRef 挂钩的 Jest 间谍
当我使用 jest 22.4 时,我进行了如下测试
这适用于 jest 22.4,不适用于 jest 24.9。我不确定那个版本是问题,因为我们的团队提升了一些东西。我将在下面粘贴我们当前和旧的包 json devdependencies 区域。
旧的 package.json 开发依赖项
新的 package.json 开发依赖项
angular - Jasmine 单元测试 spyOn 在回调函数中不起作用
我正在使用ag-grid
,我需要在一段代码上编写 Jasmine 单元测试。这段代码使用我们调用的类调用我们的休息服务器RestService
,我想用它 spyOn
来模拟这些调用和响应。在我使用的代码的其他地方,spyOn(RestService, 'function').and.returnValue()
它完全没有问题。此代码由 自动调用,ag-grid
并且它位于具有getRows
函数的数据源对象中。在这里它调用api返回下一页数据。该信息可以在https://www.ag-grid.com/javascript-grid-infinite-scrolling/上找到
我有一个spyOn
,spyOn(restService, 'fetchNextRows').and.returnValue(Observable.of(something))
但它不会为此工作。它尝试实际调用其余服务并失败,因为它在单元测试期间没有运行。有谁知道解决方法?
我的 spec.ts 使用: