如何解决如何为@Inject(DOCUMENT) 文档创建单元测试:Angular 中的文档
import {DOCUMENT,Location} from '@angular/common';
....
export class BankSlipConfirmationComponent {
constructor(...
@Inject(DOCUMENT) private readonly document: Document) {
}
...
cancel() {
this.document.location.href = `${environment.urlMenu}`;
}
但我找不到如何在测试文件中注入文档,例如:
...
beforeEach(async(() => {
Testbed.configureTestingModule({
imports: [
LinkIconeBradescoModule,RouterTestingModule,ModalMobileBradescoModule
],declarations: [BankSlipConfirmationComponent,ConfirmationModalComponent],providers: [{provider: DOCUMENT,useValue: document},BankSlipInclusionService]
}).compileComponents();
}));
beforeEach(() => {
fixture = Testbed.createComponent(BankSlipConfirmationComponent);
router = Testbed.get(Router);
service = Testbed.get(BankSlipInclusionService);
service.change(getValidateBankSlipInclusion());
component = fixture.componentInstance;
fixture.detectChanges();
});
it('Test when user click in cancel button',() => {
component.cancel();
});
当我运行测试时,我收到了这条消息:
控制台错误
node_modules/jest-environment-jsdom-fifteen/node_modules/jsdom/lib/jsdom/virtual-console.js:29
Error: Not implemented: navigation (except hash changes)
at module.exports (C:\Desenvolvimento\Quero-Receber-PDPJ\pdpj-fed-account-receivables\node_modules\jest-environment-jsdom-fifteen\node_modules\jsdom\lib\jsdom\browser\not-implemented.js:9:17)
at navigateFetch (C:\Desenvolvimento\Quero-Receber-PDPJ\pdpj-fed-account-receivables\node_modules\jest-environment-jsdom-fifteen\node_modules\jsdom\lib\jsdom\living\window\navigation.js:77:3)
at exports.navigate (C:\Desenvolvimento\Quero-Receber-PDPJ\pdpj-fed-account-receivables\node_modules\jest-environment-jsdom-fifteen\node_modules\jsdom\lib\jsdom\living\window\navigation.js:55:3)
at LocationImpl._locationObjectNavigate (C:\Desenvolvimento\Quero-Receber-PDPJ\pdpj-fed-account-receivables\node_modules\jest-environment-jsdom-fifteen\node_modules\jsdom\lib\jsdom\living\window\Location-impl.js:29:5)
at LocationImpl._locationObjectSetterNavigate (C:\Desenvolvimento\Quero-Receber-PDPJ\pdpj-fed-account-receivables\node_modules\jest-environment-jsdom-fifteen\node_modules\jsdom\lib\jsdom\living\window\Location-impl.js:23:17)
at LocationImpl.set href [as href] (C:\Desenvolvimento\Quero-Receber-PDPJ\pdpj-fed-account-receivables\node_modules\jest-environment-jsdom-fifteen\node_modules\jsdom\lib\jsdom\living\window\Location-impl.js:45:10)
at Location.set href [as href] (C:\Desenvolvimento\Quero-Receber-PDPJ\pdpj-fed-account-receivables\node_modules\jest-environment-jsdom-fifteen\node_modules\jsdom\lib\jsdom\living\generated\Location.js:135:29)
at BankSlipConfirmationComponent.cancel (C:\Desenvolvimento\Quero-Receber-PDPJ\pdpj-fed-account-receivables\src\app\bank-slip-confirmation\bank-slip-confirmation.component.ts:568:33)
at C:\Desenvolvimento\Quero-Receber-PDPJ\pdpj-fed-account-receivables\test\bank-slip-confirmation.component.spec.ts:51:15
at ZoneDelegate.Object.<anonymous>.ZoneDelegate.invoke (C:\Desenvolvimento\Quero-Receber-PDPJ\pdpj-fed-account-receivables\node_modules\zone.js\dist\zone.js:391:26) undefined
但是,我不明白这是什么问题...
你能帮我吗?
谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。