我得到了一个失败的完整测试夹具。查看控制台日志,它包含以下错误消息:
在“ng:///CompanyVehicleGridComponent.js”访问 XMLHttpRequest
来自原产地“http://localhost:9876”已被 CORS 政策阻止:
跨源请求仅支持协议方案:http,
数据、铬、铬扩展、铬不受信任、https。
我在 Angular 11 应用程序中使用 PrimeNG 控件。我正在使用显示和删除行的 PrimeNG 网格。然后在网格中,单击创建和编辑按钮将弹出 PrimeNG 模态对话框。我发现这种组件组合是一个有趣的测试挑战。下面对网格组件进行说明:
<!-- File: company-vehicle-grid.component.html -->
<div *ngIf='companyvehicles !== undefined'>
<p-table id='companyvehicles-grid' [value]='companyvehicles'
[totalRecords]='totalRecords' dataKey='VehicleId'
[rows]='5' [paginator]='true' [rowsPerPageOptions]='[5,10,50]'>
...
</p-table>
</div>
<!-- modal edit windows -->
<app-company-vehicle-detail-window [companyvehicle]='windowCompanyVehicleInput'
(closeWin)='closeWin($event)'></app-company-vehicle-detail-window>
...
<!-- End of company-vehicle.grid.component.html -->
这个错误出现在网格测试结构中。运行以下测试指令:
ng test --source-map=false
没有帮助。我删除了 company-vehicle-detail-window 并且错误消失了,表明问题是由于模态对话框窗口的变化引起的。在实现PrimeNG模态对话框的过程中,我更改了一些导致错误的服务调用,需要添加到网格测试的mock spy服务中,这样模态对话框就可以通过构造函数和ngOnInit获取。
此外,我计划更改的一件事是,当我开发详细信息窗口时,我将描述设置为限制测试以仅测试一个结构,如下所示:
fdescribe( 'CompanyVehicleDetailWindowComponent', ( ) => {
我现在将网格设置为同时测试网格表单,所以在进行更改时我会看到错误。