Ответ 1
expect(comp.type()).toEqual(null)
Что это!
или: expect(comp.get(0)).toBeFalsy()
У меня есть компонент, который возвращает null в рендеринг при определенных условиях:
render() {
if (this.props.isHidden) {
return null;
}
return <div>test</div>;
}
Я хочу проверить, является ли компонент нулевым, когда isHidden является истинным со шуткой и ферментом:
describe('myComp', () => {
it('should not render if isHidden is true', () => {
const comp = shallow(<myComp isHidden={true} />);
expect(comp.children().length).toBe(0);
});
});
Это работает, но есть ли более идиоматический способ написать этот тест? Тестирование компонентов, которые отображаются как нулевые, является довольно распространенным сценарием.
expect(comp.type()).toEqual(null)
Что это!
или: expect(comp.get(0)).toBeFalsy()
В соответствии с реализацией ShallowWrapper::html
возвращает null, если тип экземпляра компонента имеет значение null, в результате render
.
expect(comp.html()).toBeNull();
ShallowWrapper
имеет функцию isEmptyRender()
:
expect( comp.isEmptyRender() ).toBe( true )