Проверить, отображается ли компонент Material-UI withStyles с требуемыми типами PropTypes? - PullRequest
0 голосов
/ 10 июля 2020

Я новичок в модульном тестировании, и у меня возникли проблемы с проверкой того, отображает ли компонент Material-UI withStyles с требуемыми propTypes дочерние элементы Material-UI.

profile. js

const StaticProfile = (props) => {
  const { classes, profile } = props
}

return (
  <Paper>
    <div>
      <MuiLink></MuiLink>
      <Typography>
      <LocationOn>
      <LinkIcon>
      <Calendar>
    </div>
  </Paper>
)

profile.test. js

describe('<StaticProfile />', () => {
  let shallow;
  let wrapper;

  const myProps = {
    profile: {},
    classes: {}
  }

  beforeEach(() => {
    shallow = createShallow();
    wrapper = shallow(<StaticProfile {...myProps} />);
  })

  it('should render a Paper element', () => {
    expect(wrapper.find(Paper).length).toBe(1);
  })
})

Однако не похоже, что компонент вообще визуализируется с полученной этой ошибкой.

expect(received).toBe(expected) // Object.is equality

Expected: 1
Received: 0

Кто-нибудь может указать меня в правильном направлении?

1 Ответ

2 голосов
/ 10 июля 2020

Вы должны использовать wrapper.dive().find(Paper), потому что StaticProfile обернут компонентом withStyles более высокого порядка.

Попробуйте следующее:

it('should render a Paper element', () => {
  expect(wrapper.dive().find(Paper)).toHaveLength(1);
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...