Angular支持了一段时间。
您可以使用包DOCUMENT
提供的常量@angular/common
。
DOCUMENT
常量的描述(取自API文档):
表示主要渲染上下文的DI令牌。在浏览器中,这是DOM文档。
示例如下所示:
my-service.service.ts:
import { Inject, Injectable } from '@angular/core';
import { DOCUMENT } from '@angular/common';
@Injectable()
export class MyService {
constructor(@Inject(DOCUMENT) private document: Document) {}
}
my-service.service.spec.ts
import { provide } from '@angular/core';
import { DOCUMENT } from '@angular/common';
import { MyService } from './my-service';
class MockDocument {}
describe('MyService', () => {
beforeEachProviders(() => ([
provide(DOCUMENT, { useClass: MockDocument }),
MyService
]));
...
});