gpt4 book ai didi

angular - ag-Grid:如何从单元测试访问 gridApi?

转载 作者:行者123 更新时间:2023-12-04 17:31:52 24 4
gpt4 key购买 nike

我正在尝试对包含调用 gridApi 的函数进行单元测试,例如 this.gridApi.getSelectedRows(); .当单元测试到达这一行时,它给出了这个错误:Failed: Cannot read property 'getSelectedRows' of undefined ,因为 gridApi 还没有被定义。

如何从单元测试中定义 gridApi?它通常在 onGridReady 函数中定义如下:

  onGridReady(params) {
this.gridApi = params.api;
this.gridColumnApi = params.columnApi;
this.gridApi.sizeColumnsToFit();
}

是否可以触发 onGridReady从单元测试?我不知道可以向它发送什么参数。是否有其他方法来定义 this.gridApi反而?

最佳答案

this.gridApi 和 this.gridColumnApi 在测试用例中自动初始化。为此,需要从“ag-grid-angular”导入 AgGridModule。
并初始化与以下代码相同的组件:

let component: MyComponent;
let fixture: ComponentFixture<MyComponent>;

beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [MyComponent],
imports: [
AgGridModule.withComponents([])
]
}).compileComponents();

fixture = TestBed.createComponent(MyComponent);
component = fixture.componentInstance;
fixture.detectChanges();
}));
在文件顶部测试 onGridReady 导入。
import { GridOptions } from "ag-grid-community";
并声明一个变量
gridOptions: GridOptions = <GridOptions>{};
编写测试用例
it('onGridReady called', () => {
const data = {
api: component.gridOptions.api,
columnApi: component.gridOptions.columnApi
}
component.onGridReady(params);
expect(component.gridApi).not.toBeNull();
expect(component.gridColumnApi).not.toBeNull();
});

关于angular - ag-Grid:如何从单元测试访问 gridApi?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58861321/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com