问题标签 [angular2-testing]

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

unit-testing - 使用 MockBackend 测试然后调用 .map 的函数

我正在尝试为发出 Http 请求的服务编写单元测试。

我有一个服务,它返回一个Http.get()请求,后跟一个.map(). 我无法让我的模拟后端返回在.map(). 我得到的错误是:

我一直使用这篇文章作为我的主要指南。

如果我.map()从我的服务功能中删除,我不会收到任何错误。如何让我的模拟响应拥有一个.map()我可以调用的函数?

注意:我目前使用的是 RC.4

这是我的服务:

这是我的规范文件,它使用MockBackend和其他相关库来模拟这些测试的后端:

0 投票
1 回答
865 浏览

asynchronous - 测试异步 PipeTransform

语境

我有一个基本的PipeTransform,期望它是异步的。为什么?因为我有自己的 i18n 服务(由于解析、复数和其他限制,我自己做了),它返回一个Promise<string>

该管道运行良好,因为唯一延迟的调用是第一个调用(I18nService使用延迟加载,只有在找不到密钥时才加载 JSON 数据,所以基本上,第一个调用将被延迟,其他调用是即时的但仍然异步)。

问题

我不知道如何使用 来测试这个管道Jasmine,因为它在一个我知道它可以工作的组件中工作,但这里的目标是使用 jasmine 对其进行全面测试,这样我就可以将它添加到 CI 例程中。

上述测试:

失败是因为由于给出的结果I18nService是异步的,所以返回的值在同步逻辑中是未定义的。

I18n 管道测试可以调用 I18n.get。失败的

预期未定义为“测试值”。

编辑:一种方法是使用setTimeout,但我想要一个更漂亮的解决方案,以避免setTimeout(myAssertion, 100)到处添加。

0 投票
1 回答
1279 浏览

angular - 没有 AngularFire 的提供者

我正在使用 AngularFire2。运行测试时出现此异常。

这是我的测试的样子:

我猜AngularFire不能被注入,因为它是一个函数?

0 投票
1 回答
901 浏览

angular - 为什么 Angular2 TestBed 的 compileComponents 找不到我的模板?

我有一个组件,我们称之为 MyComponent。它使用 my.component.html 作为 templateUrl。

我正在为此组件编写测试(规范)。因为它使用的是外部模板,所以我在configureTestingModule之后调用compileComponents

运行测试时,我收到此错误 -

无法加载 my.component.html

该应用程序可以通过npm start运行并按应有的方式提供模板。这只是给定设置失败的测试。我做错了什么?

我正在关注本教程

0 投票
1 回答
338 浏览

node.js - 如何在没有业力的情况下使用 mocha 在 nodejs 中测试 Angular2 管道

我希望能够纯粹在 nodejs 环境中测试 Angular2 管道,而不包括业力等。

可以使用 typescript 文件作为 mocha 的测试套件

https://templecoding.com/blog/2016/05/05/unit-testing-with-typescript-and-mocha/

但是当我有一个import {Pipe} from '@angular/core'它给了我

即使我写require('reflect-metadata')在我的测试文件中,它仍然会因同样的错误而中断。

Angular 内部有这个检查:

在需要 reflect-matadata 我确实Reflect在全局对象上之后,但它仍然不起作用......

无论如何,有没有办法用 mocha 在 nodejs 中测试 Angular pipe purley?

我正在使用 webpack 捆绑应用程序,因此我在测试文件中要求的文件如下所示:

0 投票
3 回答
55733 浏览

angular - 使用 routerLink 的 Angular 2 单元测试组件

我正在尝试使用 angular 2 final 测试我的组件,但由于组件使用了该routerLink指令,因此出现错误。我收到以下错误:

无法绑定到“routerLink”,因为它不是“a”的已知属性。

这是ListComponent模板的相关代码

这是我的测试。

我查看了类似问题的几个答案,但找不到适合我的解决方案。

0 投票
2 回答
57999 浏览

testing - angular2 测试:无法绑定到“ngModel”,因为它不是“输入”的已知属性

我正在尝试测试 angular2 的双向绑定 control input。这是错误:

app.component.html

app.component.ts

app.component.spec.ts

0 投票
1 回答
1486 浏览

angular - Angular2测试服务——未定义服务

嗨,我正在尝试按照以下程序为我的服务编写单元测试:https ://developers.livechatinc.com/blog/testing-angular-2-apps-dependency-injection-and-components/但我不断收到错误消息。

这是服务测试

并且 this 的 console.log 是一个空对象,而 this.kibanaDataServices 只是未定义。我指定的路径是正确的,因为 kibana-data-services 和 kibana-data-services.spec.ts (这个测试文件)在同一个文件夹中,所以我不确定出了什么问题。

我得到的具体错误是:

更新:不使用“this”会导致“it”语句中未定义的错误

0 投票
1 回答
528 浏览

angular - Angular 2.0.0 使用路由器测试组件

给定以下组件:

我正在尝试编写一个单元测试:

这是错误消息:

任何帮助,将不胜感激!!

0 投票
3 回答
27092 浏览

angular - 找不到管道“翻译”,angular2组件测试

我正在使用 angular2 进行组件测试。在我的 html 模板中,我使用翻译管道。这是测试的代码:

我收到此错误,翻译管道未知:

我们如何解决这个问题?

谢谢。