【发布时间】:2026-01-15 11:10:01
【问题描述】:
我想测试一下图像是否已正确加载到 React 应用程序中。我决定检查嵌套在 React 组件中的 img 元素的 src 属性。我想使用 Jest 测试框架,如果需要,还想使用 Enzyme 测试实用程序。
通过挖掘浅层 React 测试组件的 Object.keys,我能够提出以下解决方案。我不确定的行用星号表示。
import React from 'react';
import {shallow} from 'enzyme';
import App from './App';
it('should have the logo image', () => {
const app = shallow(<App />);
const img = app.find('img');
const src = img.node.props.src; // ******
expect(src).toBe('logo.svg');
});
这个解决方案确实工作,但它似乎有点复杂(它需要一个包装器的属性的属性)并且看起来有些晦涩(我无法轻易找到明确的说明在线的)。那么,这是正确/最简单的方法吗?
- 如果有,文档在哪里?
- 如果不是,我应该/还能怎么做?例如Enzyme中是否有现成的
getAttribute或retrieveProp等方法?有没有更好的方法使用其他东西而不是酶来做到这一点,例如react-addons-test-utils?
This question 关于 React 元素属性似乎并没有完全回答我,尽管那里的海报也表明很难找到关于断言渲染属性值的文档。许多其他问题(例如here、here 和here)处理 React/Jest/Enzyme,但不处理检索属性值。
【问题讨论】:
标签: javascript reactjs jestjs enzyme