问题标签 [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.
angular - 使用 HTTP 请求测试 Angular 2.0.0 组件
我有以下 Angular 2.0.0 组件:
我将如何测试该ngOnInit()
功能?
我不想包括到目前为止我尝试过的测试,因为我怀疑我偏离了正确的轨道,我不想让答案产生偏见。
angular - Angular 2 - 具有依赖关系的 angular-cli 管道测试
我正在尝试对相对孤立的Pipe
. 我使用的是最新版本angular-cli
(带有@angular
2.0.0)。
管道代码是:
规范代码是:
理智测试通过,但真正的测试失败并出现错误:
我确定这是我错过的一些配置,但由于某种原因,DataTablePipe
它没有导入到测试模块中......
有任何想法吗?
angular - RouteLink 测试 angular2
我正在测试一个使用 RouteLink 指令的组件,如下所示:
我尝试获取<a>
标签并单击它以获取当前路径,但问题是当前路径始终为 '' ,什么都没有 :( 这是错误:
任何想法 ?
angular - Angular2 - 测试注入的私有服务方法已被调用
首先,我知道我不应该测试私有方法,但是我觉得有时我应该测试是否基于某种逻辑调用了私有方法。
我正在围绕 angular 2 http 服务构建一个包装服务,这样我就可以进行全局错误处理,而无需将代码写入每个 http 请求。
该类的一个小样本是这样的:
如果我想测试 get 方法并以错误响应模拟响应,以便触发 catch,我无法测试是否调用了 error.dispatch 方法,因为这是私有的。我不能窥探私有方法。
您可能会争辩说,我实际上只是在测试“catch”是否被触发,如果确实如此,那么它内部的方法显然会触发,但这只是在测试 http 服务本身。如果'catch'被触发,我想确保error.dispatch已作为调用添加,如果由于某种原因它被另一个开发人员删除,则会失败。也许这是一种不好的测试方式?我愿意接受其他建议。
我可以像这样模拟私人课程:
但是 ApiService 类的蓝图保持不变,现在的 FakeError 服务仍然是私有的。在 Java 中,您可以自己创建实例并将其注入,因为您拥有它,您可以访问它。我想我正在尝试在 jasmine/typescript/angular2 中找到一种方法来做到这一点?
javascript - Angular 2 最终发布路由器单元测试
如何使用 karma 和 jasmine 在 Angular 2.0.0 版中对路由器进行单元测试?
这是我的旧单元测试在 2.0.0-beta.14 版本中的样子
unit-testing - Angular 2.0.1 创建了具有不同配置的平台。请先销毁
我正在尝试在带有 Jasmine 的 Angular 2 组件上运行 Angular 2 单元测试(我没有使用 Karma,但是......只是对我的代码进行 webpacking,然后在默认的 Jasmine SpecRunner.html 中运行测试)。
当我运行我的代码时,我收到错误消息:“已创建具有不同配置的平台。请先销毁它。” 一整天都在敲我的头。阅读我能找到的关于 StackOverflow 的每一篇文章,但我仍然卡住了。有什么建议么?
这是我正在尝试测试的组件...
unit-testing - TypeError:升级到 Angular 2.0 final 后无法读取 null 的属性“注入器”
从 Angular 2 RC5 升级到 2.0 Final 后,我在运行测试时看到以下错误。我不确定问题是什么。
这是我的一项测试的示例:
有关演示此问题的拉取请求,请参阅 GitHub:https ://github.com/mraible/ng2-demo/pull/4
unit-testing - Angular 2 CLI Jasmine 单元测试在使用 beforeAll 而不是 beforeEach 时失败
我使用 NG-CLI (beta.15) 创建了一个新项目,并修改了app.component.spec
将其更改beforeEach
为 abeforeAll
并导致测试失败并出现以下错误:
失败:无法创建组件 AppComponent,因为它没有导入到测试模块中!
我不明白这个错误是什么意思,当然为什么我会首先得到它。
这是修改后的规格:
然后我将规范修改为此,前两个测试通过,第三个测试失败并显示以下消息:
失败:尝试使用被破坏的视图:detectChanges
我不明白为什么会有任何失败。
angular - 如何模拟 angular2 平台浏览器标题组件以进行测试
我正在用 Jasmine 为 Angular 2 组件编写单元测试。当我的组件被实例化时,我想测试我的文档标题是否设置为特定值。
这是我的组件
这是我为测试而编写的,但它不起作用。titleService.getTitle()
给我 Karma 调试运行器页面标题。
业力输出是:
错误:预期 'Karma DEBUG RUNNER' 为 'Account'。
angular - 使用 angular2-material 组件在 angular2.0 中运行 ng test 时测试用例失败
我在我的应用程序中使用 angular2.0
我安装了 angular2-material 组件并导入了所需的模块
我尝试为我的一个组件编写测试用例
//about.component.html
//关于.component.ts
//关于.component.spec.ts
//package.json
当我这样做时ng test
,我得到:
有没有办法解决这个问题?