1
我有這樣的代碼,我想測試:不能訪問/。然後從承諾觸發單元測試
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());
}
)
);
我覆蓋率報告稱回調位於。然後永遠不會執行。 我試過各種東西,但回調函數永遠不會執行。 如何觸發這部分?
Angular2版本:RC5 角CLI版本:webpack.2
我在測試中添加了這一行,但它並沒有觸發它恐怕。 –
我不知道你正在使用什麼Angular2版本,以及目前使用它們的方式是什麼。這幾乎隨任何更新而改變。試着額外用'async包裝'inject'?像'異步(注入(...))' –
我編輯的OP與版本,異步沒有這樣做伎倆要麼=/ –