【发布时间】:2016-08-23 17:00:44
【问题描述】:
我有这段代码要测试:
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
【问题讨论】:
标签: angular promise karma-jasmine