我有我要测试的代码:
public renderPage(page: number) {
return this.pdfVar.getPage(page).then((page: any) => {
console.log('PAGE', page);
let viewport = page.getViewport(1);
let container = this.element.nativeElement.querySelector('div');
let canvas: HTMLCanvasElement = document.createElement('canvas');
if (!this.originalSizeVar) {
viewport = page.getViewport((this.element.nativeElement.offsetWidth * 1) / (viewport.width * 1));
}
if (!this.showAllVar) {
this.removeAllChildNodes(container);
}
container.appendChild(canvas);
canvas.id = 'pdfCanvas';
canvas.height = viewport.height;
canvas.width = viewport.width;
let context = canvas.getContext('2d');
page.render({
canvasContext: context,
viewport: viewport
});
});
这是我的测试:
it('render page',
inject(
[
PdfViewerComponent
],
(
component: PdfViewerComponent
) => {
component.pdfVar = mockPdfVar;
let something = component.renderPage(2);
something.then((data) => data());
}
)
);
我的报道报告说,.then中的回调永远不会被执行。 我尝试了各种各样的东西,但回调函数永远不会执行。 如何触发此部分?
Angular2版本:RC5 Angular-CLI版本:webpack.2
答案 0 :(得分:0)
您可能需要
return something.then((data) => data());
让测试跑步者能够等待你的测试完成。