jest와 효소가있는 구성 요소를 테스트하는 데 어려움이 있습니다. 내가하고 싶은 것은 이름 필드에 값없이 폼을 테스트하는 것입니다. 그러면 구성 요소에 오류가 표시됩니다. 그러나 나머지를 실행할 때 내 콘솔에 오류가 발생합니다.효소 시뮬레이션 양식 제출, 정의되지 않은 'value'속성을 읽을 수 없음
TypeError: Cannot read property 'value' of undefined
저는 프론트 엔드 테스트 및 테스트 전반에서 상당히 새로운 기술입니다. 그래서 저는 이러한 유형의 시험을 위해 효소를 정확하게 사용하고 있는지 확신 할 수 없습니다. 내 테스트가 잘못되었거나 쉽게 테스트되지 않은 구성 요소를 작성한 것인지 여부는 알 수 없습니다. 그게 더 쉽게 테스트 할 수 있도록 내 구성 요소를 변경하려면 열려 있습니까?
부품
// all other code omitted
// bear in mind I am shallow rendering the component
describe('the user does not populate the input field',() => {
it('should display an error',() => {
const form = wrapper.find('form').first();
form.simulate('submit', {
preventDefault:() => {
},
// below I am trying to set the value of the name field
target: [
{
value: '',
}
],
});
expect(
wrapper.text()
).toBe('Please enter your name.');
});
});
귀하의 의견에 감사드립니다. 그러나 두 개의 개별 구성 요소로 상태를 관리하고 싶지는 않습니다. ''inputForm''' 클래스는 훨씬 더 큰 어플리케이션의 자식 컴포넌트입니다. 모든 상태 관리는 부모 구성 요소에 의해 처리되고 필요한 경우 소품으로 전달됩니다. 시간이 지나면 더 나은 상태 관리를 위해 Redux를 사용하도록 애플리케이션을 업데이트 할 것입니다. –