通过酶架进行测试时,类道具为空

时间:2019-01-17 13:43:16

标签: reactjs jestjs enzyme

下一步:

array([3., 4., 3., 3., 4., 4., 3., 3., 3., 3., 3.])

我希望可以在控制台道具中看到我在商店中编写的道具,并使用mapStateToProps传递了它们,但是我看到的是空对象。有人可以解释一下我在做什么错吗? 附言现在,组件是简单的类,如果我开始使用HOC(通过连接),我根本无法到达我的组件

1 个答案:

答案 0 :(得分:0)

如果要在没有连接HOC的情况下测试组件。然后,您将永远不会从mapStateToProps看到道具,因为您导入的组件不会运行connect函数。

您需要导入连接的组件,然后将其包装在提供程序中。这样wrapper应该会满足您的所有需求。

-

编辑:如果无法访问所连接的组件,只需使用该组件并手动声明所有道具即可。

类似这样的东西:

import { Foo } from '../foo';

const props = {
  title: 'Hello',
  subTitle: 'World'
};

describe('<Foo />', () => {
  test('should make props available', () => {
    const wrapper = mount(<Foo {...props} />);
    expect(wrapper.props).toEqual(props);
  });
});