1
にアクセスできません:は、私がテストしたい、このコードを持っているユニットテストに約束から.then引き金に/
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 角度-CLIのバージョン:webpack.2
私のテストでこの行を追加しましたが、それは私が恐れていることを引き起こしません。 –
Angular2のどのバージョンを使用しているのかわかりません。これはほぼすべてのアップデートで変更されました。 'asyncで' inject'をさらにラップしてみてください。 'async(inject(...) 'のように) –
私はバージョンを使ってOPを編集しましたが、非同期でもそのようなことはしませんでした=/ –