gpt4 book ai didi

reactjs - 如何使用 Jest/Enzyme 测试 AgGridReact

转载 作者:行者123 更新时间:2023-12-03 13:44:11 25 4
gpt4 key购买 nike

有人知道如何用 Jest/Enzyme 测试 AgGridReact 吗?我试图模拟应该自动调用的 onGridReady 回调,但它似乎没有被触发。这是我的测试的简化版本:

import React from "react";
import { mount} from "enzyme";

const AgGridReact =
typeof window === "undefined"
? () => null
: require("ag-grid-react").AgGridReact;

var spy = jest.fn();

// Grid.prototype.onGridReady = spy;
var columnDefs = [
{ headerName: "Make", field: "make" },
{ headerName: "Model", field: "model" },
{ headerName: "Price", field: "price" }
];

// specify the data
var rowData = [
{ make: "Toyota", model: "Celica", price: 35000 },
{ make: "Ford", model: "Mondeo", price: 32000 },
{ make: "Porsche", model: "Boxter", price: 72000 }
];

// let the grid know which columns and what data to use
var gridOptions = {
columnDefs: columnDefs,
rowData: rowData,
onGridReady: spy
};

mount(<AgGridReact id="myGrid" {...gridOptions} />);

expect(spy).toHaveBeenCalledTimes(1);

如有任何想法/建议,我们将不胜感激。谢谢!

最佳答案

你应该使用shallow而不是mount。 enzyme 浅方法将公开所有自定义事件,您可以轻松模拟它们。

    //AgGridReact is wrapped inside Grid component
const wrapper = shallow(<Grid/>)

const agGridReact = wrapper.find(AgGridReact)

agGridReact.simulate('gridReady')

关于reactjs - 如何使用 Jest/Enzyme 测试 AgGridReact,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48915570/

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