问题标签 [ts-mockito]
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 - Angular 在测试中操纵服务值
我试图在我的测试中操纵服务返回值并将该值附加到 components 字段。
所以我myService
在内部模拟Test1
并操纵它的值,true
以便它总是返回true
。通过调用fixture.detectChanges();
,我调用了应该返回的this.myService.getProperty('param');
内部并设置了also的值。但事实并非如此。该字段的值仍然是。当然失败了。PageComponent
true
myField
true
false
Test1
我不明白会发生什么。为什么我可以true
在测试中定义返回值并通过它使组件值?
测试
页面组件
我的服务
javascript - 如何用 Jest 测试 void 方法
我想测试记录器是否正确递增(使用 Jest)。查看下面的代码意味着我想检查是否调用了增量(1)
(即 void 的内容myMethod
)。
我尝试了三种不同Option
的 s。每个Option
结果都在消息中
实际上要么Option 1
或Option 2
就是我想要的。因为Option 3
我只是尝试过,因为我认为这肯定会奏效。
有人可以帮我吗?
提前致谢。
ts-mockito - 未定义 IntersectionObserver
我正在使用 ts-mockito 和 jsdom-global 将单元测试添加到使用 IntersectionObserver 的项目中,但不幸的是我遇到了以下错误:
ts-mockito 是否提供任何模拟或覆盖 IntersectionObserver 的方法?
typescript - 使用 ts-mockito 和 Typescirpt 模拟 Express 请求
是否可以在打字稿中使用ts-mockito模拟来自Express的类请求?
我尝试了以下
但在说明时出现错误req
:Type 'Request' is missing the following properties from type 'Request<ParamsDictionary>': get, header, accepts, acceptsCharsets, and 73 more.
angular - 测试来自 ts-mockito 模拟服务的 HttpErrorResponse
我在我的服务类中的组件规范测试错误场景中遇到问题。使用 ts-mockito 模拟服务类。
服务等级:
我已经将在我的组件测试中不起作用的逻辑简化为这个简单的复制(在我的真实测试中,组件调用的是服务而不是测试代码,但这重现了我正在经历的事情):
但是这里的输出是“成功”,而不是“错误”。如何设置来自模拟的可观察响应以触发订阅中的错误条件?
我也尝试过when(mockTestService.getData()).thenReject(httpErrorResponse)
,但这会引发未处理的承诺拒绝。
angular - ts-mockito 验证不正确
嗨,我被困在测试上的时间比我想承认的要长。但我需要帮助我的测试。我在控制台记录了我想要测试的类和我需要测试的代码流。但是,当我在调用的函数上调用veryfy 时,ts-mockito 返回它没有被调用,即使我有证据证明我的日志一定是这样。
在我的课堂上:
问题是我可以看到这两个日志,所以如果我没记错的话,它应该被调用吧?
node.js - 使用 ts-mockito 模拟 WebAPI 接口
我正在为使用浏览器 WebAPI 接口的类编写单元测试。
我使用 ts-mockito 来模拟界面(在我的例子中是WebGL2RenderingContext)。
当我运行测试时,Node throwsReferenceError: WebGL2RenderingContext is not defined
这是可以理解的,因为测试是在 NodeJS 环境下运行的,而不是浏览器,所以类/接口不存在。
有什么方法可以让 NodeJS 环境了解 WebAPI 接口,以便可以模拟?
注意:因为它是一个单元测试,它不应该在真正的浏览器上运行。
jsdom似乎是一个可能的解决方案,但我不知道如何用 ts-mockito 模拟它。
以下片段说明了我正在尝试做的事情:
使用 mocha 和命令运行mocha --require ts-node/register 'test.ts'
。
angular - 我怎样才能抑制 Api 错误并返回一个值?
我404
从我的 API 收到未使用的电子邮件和已使用的 204 电子邮件。现在我想使用/和将其转换为boolean
(真/假)。rxjs
pipe
catchError
现在在我的单元测试中,我有这样定义的未使用电子邮件的情况
然后它尝试像这样编写我的测试。
现在测试失败了,因为HttpErrorResponse
抛出了 an:
所以Observable
抛出了我认为我遇到的错误catchError
。我的测试设置是jest
,我不想(也不能)切换到 TestBed。
angular - 模拟服务不会在角度测试中禁用按钮?
我正在使用角度材料步进器在我的组件中导航,有以下按钮:
下面是我的 stepper.component.html 代码 <button [disabled]="myService.disableNextButton(stepper.selectedIndex)"> Next
然后我有一个使用 behaviorSubject 来存储 productId 的服务:
我正在使用 JEST 测试和 ts-mockito 来模拟我的服务,如下所示:
在我的测试中,我有以下内容:
问题是当我使用原始服务时,该按钮在启动时被禁用,但是当我模拟该服务时,它并没有禁用它。知道有什么问题吗?
typescript - 如何在异步函数中测试 await toPromise()?(.toPromise() 不是函数错误)
基于这个问题,我写了这个测试:
我正在测试的功能是:
该函数运行正常,但测试失败:
TypeError: this.productService.getProductByCode(...).toPromise 不是函数
就像我没有正确地嘲笑服务一样吗?
productService.getProductByCode() 方法返回 Product 的 Observable:
(product) 方法创建了一个产品的 Observable 对象。方法 .toPromise() 是 Observable 的一个方法,它从 observable 返回一个承诺。这里是导入: