问题标签 [angular-unit-test]

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 回答
51 浏览

angular - 在单元测试期间观察变量变化

我正在研究一个主要在 onNgInit() 方法上完成其工作的组件:

现在在我的测试中,我相信,由于代码是 onNgInit,stage 的值仍然是“start”。我想知道是否有办法观察变量的值变化,或者更好的是,特定变量的最终值?

0 投票
2 回答
321 浏览

angular - 如何为调用服务的函数编写单元和/或 e2e 测试

我将如何为这个函数编写单元测试?提交表单时,它会发送一个 POST 请求以获取登录令牌。然后使用令牌响应发送另一个请求以获取特定用户详细信息。

这是功能:

以下是服务功能:

对于单元测试,我假设我需要创建一个模拟服务,其中这些函数将返回一个有效的响应,如下所示:

这是正确的方法还是我完全错了?此外,当涉及到我的登录页面的 E2E 测试时,我基本上是通过编写模拟单击表单按钮和输入值的代码来模拟每个测试中的用户,然后检查以确保我得到有效的响应,或者我是否过于复杂了?

0 投票
1 回答
743 浏览

angular - 测试是否使用 Jasmine 和 Karma 更改类

我正在尝试通过以下方式测试是否单击了按钮:

单击按钮时,某些元素类从更改wrapper-containerwrapper-container-expanded(我不想检查单击按钮时是否调用了该函数-这不是我的目的)。

我正在尝试通过以下方式进行检查:

虽然我可以看到调用了函数并更改了类,但是找不到具有新类的元素并且旧的wrapper-container似乎存在。

0 投票
1 回答
768 浏览

unit-testing - 如何使用 jasmine 对某些东西进行单元测试!== 并检查标志?

嘿,所以我在我的 Angular 应用程序中有这个方法,我想对它进行单元测试:

我想用 Jasmine 对它进行单元测试。我可以做简单的单元测试,但现在对我来说太多了,我被困住了。我对单元测试很陌生,我不知道该怎么做:/你能帮我吗?

我现在只有这个,我不知道如何做剩下的:

0 投票
1 回答
68 浏览

angular - UT 由于未定义的 FormArray 控件而未通过,而必须定义该控件

我有一个车间编辑组件(按顺序):

  • 建立表格
  • 检索车间进行编辑
  • 使用车间值更新表单值

这是代码:

Workshop.ListDebates看起来像:

因此,上面的所有代码都可以正常工作,但我正在尝试对updateFormValues方法进行单元测试。

这是我尝试过的:

每次我收到错误:无法读取未定义的属性“patchValue”(在updateFormValues方法中)。

我已经尝试了很多事情(以及添加fixture.detectChanges()之类的随机事情),但我找不到修复它的方法。

奇怪的是 addDiscussion 被调用了 2 次,所以我想知道为什么我的 FormArray 控件是未定义的。

我已经 console.log() 了一些东西,看起来addDiscussion被调用但没有像它必须做的那样推动一个组。

我重复自己,但在真正的应用程序中它按预期工作。

0 投票
1 回答
2009 浏览

angular - this.fb.group({ 不是角度函数?

我有以下代码,

** spec.ts,(浅渲染)

当我运行代码时,我得到了测试用例,我得到了以下错误:

我是单元测试用例的新手。任何人都可以建议我帮助解决这个问题。

0 投票
1 回答
26 浏览

angular - 为什么分支覆盖是随机的?

我有 4 个单元测试。

方法选项参数都相同:

结果:

75% 分店 3/4

截屏:

在此处输入图像描述

只有最后一个参数options没有被覆盖,但前 3 个被覆盖。

图书馆:

所以问题是:为什么分支覆盖看起来是随机的,或者我的代码中遗漏了一些东西?我应该运行测试还是不重要?

0 投票
0 回答
27 浏览

angular - Angular 指令单元测试

我在为 Angular 指令创建单元测试时遇到问题。问题是在设置 inputEl.value 并调用 input.dispatchEvent(new Event('input')) 然后调用 fixture.detectChanges() 之后,输入值被删除并且将是一个空字符串(所以总而言之我什至没有得到在那里测试指令)。

这是我的代码:

结果:错误:预期“”为“测试”。

我在这里做错了什么?

0 投票
1 回答
1070 浏览

angular - 出现错误:模块“DynamicTestModule”使用 jest+spectator angular 9 声明的意外值“未定义”

我正在使用 Angular 9 并在深入研究后将 angular 的默认单元测试替换为旁观者和开玩笑,这很有趣,而且我几乎没有可以正常工作的测试,但是在尝试测试某些父组件时突然出现了这个问题,导致了丑陋的错误(看问题标题)我不知道如何解决,很高兴得到一些帮助,代码如下

其他类似的测试正在工作,但是即使我删除了模板的所有标记并只写了愚蠢的 div,并且取消了对测试的模拟,我仍然得到这个无赖...尝试重新启动服务器没有帮助。

规格

组件.ts

组件.html

0 投票
2 回答
4165 浏览

angular - Angular 9 TestBed.inject 和提供者覆盖

既然 TestBed.get 在 Angular 9 中已被弃用,那么当使用提供者覆盖时,以下替代方案是什么

真的是这样还​​是有更好的方法?