angular 在 html 中调用方法时使用 jasmine 测试组件
angular testing a component using jasmine when the a method call is made in the html
我必须测试这种奇怪的情况。在我的 html 中,我有:
<div id="date">
<h5>
{{ showFormattedDate(myDate) }}
</h5>
</div>
函数showFormattedDate()
在.ts
中定义如下:
showFormattedDate(dateToFormat: string): string {
return moment(dateToFormat).format('HH:mm DD/M/YYYY');
}
现在我正在尝试对此进行测试,但我一直收到此错误:
Expected ' Created at Invalid date ' to be '12:23 29/5/2020'.
无效日期部分也是我在页面加载时在屏幕上看到的一秒钟,但我认为这是因为函数调用。
我试过用这两种方式测试它:
it('should display the date correctly', async () => {
fixture.detectChanges();
// await fixture.whenStable();
// await fixture.isStable();
// await fixture.whenRenderingDone();
expect(el.query(By.css('#date')).nativeElement.textContent).toContain(
getTestData().date);
});
it('should display the date correctly (async)', async(() => {
fixture.detectChanges();
fixture.whenStable().then(() => {
// wait for async getQuote
fixture.detectChanges(); // update view with quote
expect(el.query(By.css('#date')).nativeElement.textContent).toContain(getTestData().date);
});
}));
但都return上述错误。我该如何解决这个问题?
我必须测试这种奇怪的情况。在我的 html 中,我有:
<div id="date">
<h5>
{{ showFormattedDate(myDate) }}
</h5>
</div>
函数showFormattedDate()
在.ts
中定义如下:
showFormattedDate(dateToFormat: string): string {
return moment(dateToFormat).format('HH:mm DD/M/YYYY');
}
现在我正在尝试对此进行测试,但我一直收到此错误:
Expected ' Created at Invalid date ' to be '12:23 29/5/2020'.
无效日期部分也是我在页面加载时在屏幕上看到的一秒钟,但我认为这是因为函数调用。
我试过用这两种方式测试它:
it('should display the date correctly', async () => {
fixture.detectChanges();
// await fixture.whenStable();
// await fixture.isStable();
// await fixture.whenRenderingDone();
expect(el.query(By.css('#date')).nativeElement.textContent).toContain(
getTestData().date);
});
it('should display the date correctly (async)', async(() => {
fixture.detectChanges();
fixture.whenStable().then(() => {
// wait for async getQuote
fixture.detectChanges(); // update view with quote
expect(el.query(By.css('#date')).nativeElement.textContent).toContain(getTestData().date);
});
}));
但都return上述错误。我该如何解决这个问题?