gpt4 book ai didi

javascript - ReactTestUtils 中图像源的评估结果意外

转载 作者:行者123 更新时间:2023-11-28 07:01:14 25 4
gpt4 key购买 nike

我得到了一些意想不到的 ReactTestUtils 测试结果。这是代码:

来源:

var React = require('react');

module.exports = React.createClass({
render() {
var data = this.props.data;

return (
<div>
<img className="photo" src={data['photograph-url']} alt={data['photograph-caption']}/>
</div>
);
}
});

使用Jest进行测试

    var React = require('react/addons');
var TestUtils = React.addons.TestUtils;
var data = {
"photograph-url": "photograph url",
"photograph-caption": "photograph caption"
};

var details = TestUtils.renderIntoDocument(
<Details data={data}/>
);
var photo = TestUtils.findRenderedDOMComponentWithClass(details, "photo").getDOMNode();

expect(agentPhoto.src).toEqual('photograph url');

令人惊讶的是,测试失败了,因为agentPhoto.src的结果返回“/Users/...../photograph url”,这是我的文件夹路径。

但是,然后我将“照片网址”更改为真实的http源图像“http://...”。运行良好。

我不知道背后的原因是什么

提前非常感谢

最佳答案

我最好的猜测是 jsdom 正在尝试找出如何解析相对 url 照片 url 并且因为它是从您的 /User/ 目录中的目录运行的解决这个问题。

您可以使用虚假的 http 地址作为测试数据,或者验证 props 而不是 dom 元素,如下所示:

var React = require('react/addons');
var TestUtils = React.addons.TestUtils;
var data = {
"photograph-url": "photograph url",
"photograph-caption": "photograph caption"
};

var details = TestUtils.renderIntoDocument(
<Details data={data}/>
);
var photo = TestUtils.findRenderedDOMComponentWithClass(details, "photo");

expect(photo.props.src).toEqual("photograph url");

关于javascript - ReactTestUtils 中图像源的评估结果意外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32120755/

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