gpt4 book ai didi

javascript - 使用 Mocha 在 React 中渲染的 SVG 组件上测试 Prop

转载 作者:行者123 更新时间:2023-11-30 20:47:50 27 4
gpt4 key购买 nike

我正在为呈现两个不同 SVG 的方法编写单元测试 <line/>元素(每一行在此称为“灯芯”)。传递给此方法的 Prop 是:{x1, x2, y1, y2} ,并且该方法在 render() 中被调用两次我的方法<Candle />成分。

作为一个整体为这个组件编写测试时,我很难测试两个 wick 的 Prop 。这是我目前正在运行的:

it("should render a wick line", () => {
const wrapper = shallow(<Candle {...baseProps}/>);
const wicks = wrapper.find("line");
const values = [
{
x1: 5,
x2: 5,
y1: 30,
y2: 5
}, {
x1: 5,
x2: 5,
y1: 10,
y2: 5
}];

wicks.forEach((wick) => {
expect(wick.prop("x1")).to.eql(values.x1);
// expect(wick.prop("x2")).to.eql(5);
// expect(wick.prop("y1")).to.eql(values.y1);
// expect(wick.prop("y2")).to.eql(5);
});
});

这个测试失败了:

1) should render a wick line
primitives/candle
expected 5 to deeply equal undefined

正如我在评论中看到的那样,我尝试预测一个指定的数值并测试我的 values 中的适当键。对象数组。

有没有更好的方法来解决这个问题?还是我的代码中遗漏了一些明显的东西?

最佳答案

尝试 expect(wick.prop("x1")).to.eql(values[0].x1);

你可以用这个替换 forEach

wicks.forEach((wick, i) => {
expect(wicks[i].prop("x1")).to.eql(values[i].x1);
expect(wick.prop("x2")).to.eql(5);
expect(wick.prop("y1")).to.eql(values.y1);
expect(wick.prop("y2")).to.eql(5);
})

关于javascript - 使用 Mocha 在 React 中渲染的 SVG 组件上测试 Prop ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48506715/

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