96得票2回答
Angular 2测试 - 异步函数调用 - 何时使用

在 Angular 2 中进行测试时,何时使用 TestBed 中的异步函数? 什么时候需要使用它? beforeEach(() => { TestBed.configureTestingModule({ declarations: [MyMod...

94得票4回答
Angular2中使用@Input()进行单元测试

我有一个组件,该组件在实例变量上使用了 @Input() 注释,并且我正在尝试编写针对 openProductPage() 方法的单元测试,但是我不太清楚如何设置我的单元测试。我可以将该实例变量设置为公共的,但我认为我不应该采取这种方法。 我该如何设置我的Jasmine测试以便注入(提供)模...

79得票3回答
Angular 6 - NullInjectorError: 在单元测试中未提供 HttpClient 的提供者

我正在服务中导入并使用HttpClient, 代码如下:import { Injectable } from '@angular/core'; import { HttpClient } from '@angular/common/http'; @Injectable({ provi...

44得票3回答
测试依赖于服务的管道

我有一段可以将HTML进行清洗的代码:import { Pipe, PipeTransform } from '@angular/core'; import { DomSanitizer } from '@angular/platform-browser'; @Pipe({ name...

39得票5回答
当使用Angular中的*ngIf指令时,我如何使用Jasmine进行单元测试以确定一个元素是否可见?

我有一个 Angular 6 应用程序,并编写了一些单元测试,尝试仅基于 *ngIf 指令的布尔结果来确定元素是否可见。 标记:<div class="header" *ngIf="show"> <div>...</div> </div&gt...

38得票3回答
如何模拟route.snapshot.params?

在我的Angular 4组件中,我有类似以下的东西:constructor(private route: ActivatedRoute) { } ngOnInit() { this.myId = this.route.snapshot.params['myId']; } 我正在尝试创建一...

34得票2回答
何时在Angular中使用waitForAsync

从文档中我们可以看到: waitForAsync(fn: Function): (done: any) => any 将测试函数封装在一个异步测试区域中。当此区域中所有异步调用完成时,测试将自动完成。可以用来封装一个 inject 调用。 我不明白何时使用 waitForAsync ...

30得票4回答
如何关闭Angular 6 ng test的源代码映射?

我正在尝试在 Angular 6 的测试中关闭源代码映射。我知道 sourcemaps 开关已被删除,例如:ng test --sourcemaps=false。我已经尝试修改我的 tsconfig 文件:{ "extends": "../tsconfig.j...

26得票3回答
为什么我需要两次调用detectChanges / whenStable?

第一个例子 我有以下测试:import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { Component } from '@angular/core'; @Component({ ...

26得票2回答
单元测试Angular Material对话框 - 如何包含MAT_DIALOG_DATA

我正在尝试对这个材料对话框进行单元测试,以测试模板是否渲染了正确的注入对象。当组件被正确使用时,它可以正常工作。 组件 - 对话框 export class ConfirmationDialogComponent { constructor(@Inject(MAT_DIALOG_DA...