javascript - 如何测试返回函数值

标签 javascript html reactjs jestjs

如何测试此函数的返回值?

handleValidatePassword = (confirmPassword) => {
    const { newPassword } = this.props;
    if (newPassword !== confirmPassword) {
      return <FormattedMessage id="some value" />;
    }
  }

如果条件正确,我需要检查此函数的返回值是否是预期的值:(FormattedMessage return span with value === id)

<span> some value </span>

我使用浅 enzyme 进行测试

最佳答案

如果你使用 Jest 或 Jasmine ,我个人会使用 enzyme 匹配器。 https://github.com/FormidableLabs/enzyme-matchers/blob/master/packages/jest-enzyme/README.md#tocontainreact

import { shallow } from 'enzyme' 
import Element from './yourpath'

const wrapper = shallow(<Element />); // mount/render/shallow when applicable

//as shallow renders only one level of children components
expect(wrapper).toContainReact(<FormattedMessage id="some value" />);

//or if you want to test actually the span element you should use mount
const wrapper2 = mount(<Element />);
expect(wrapper).toContainReact(<span> some value </span>);

关于javascript - 如何测试返回函数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57326110/

相关文章:

javascript - 在 map 中调用异步函数的最佳方法?

html - 防止表内的 div 超出父级的大小

html - 羽毛笔不工作

javascript - 在 React-Admin 中保存来自自定义组件的更改

javascript - 如何在 Action 完成之前显示加载图像 ASP.Net MVC 5

javascript - 如何用javascript做到这一点?它就像一个开关,但我似乎没有找到开关功能

javascript - Gridster 在 beforeRemove Knockout 回调中阻止 li 节点

javascript - 使用 div 更改 Active Slick Carousel

reactjs - Redux-Form - 验证仅发生一次

javascript - 为什么我应该从 Axios 调用中返回 "undefined",而它应该返回对象?