我正在运行RC6并希望测试组件templateUrl行为,
即使用TemplateUrl加载模板 似乎有一个解决方法,如https://github.com/angular/angular/pull/6601。但是,下面的代码不起作用。从根本上说,它不会通过templateUrl加载太阳穴。
在使用inject,fakeAsync或aysnc的地方存在很多差异。 有一个解决方案使用karma插件并使用templeUrl的重定向,但我不喜欢这个。
import { Component, Input, OnInit} from "@angular/core";
import { TooltipService } from "./tooltip.service";
@Component({
selector: "tooltip",
templateUrl: "./tooltip.component.html",
providers: [TooltipService]
})
export class TooltipComponent {}
const INITIAL_QUESTIONS: any = { step: {
questions: [
{
key: "q1",
questionId: "question1",
displayText: "Question 1's value",
answerChoices: [
{ answerId: "abc$def", displayText: "Answer 1", selected: true },
{ answerId: "123$def", displayText: "Answer 2", selected: false }
]
}
]
}};
fdescribe("ToolTipComponent", () => {
beforeEach(() => {
TestBed.configureTestingModule({
declarations: [
TooltipComponent
],
providers: [
{ provide: TooltipService, useClass: MockToolTipService }
]
});
this.fixture = TestBed.createComponent(TooltipComponent);
});
it("should render the template", async(() => {
this.fixture.whenStable().then(() => {
let element = this.fixture.nativeElement;
this.fixture.detectChanges();
expect(element.querySelectorAll("div").length).toBe(1);
});
}));
});