효소로 반응 라우터 구성 요소를 테스트하는 데 약간의 머리가 될 수 있지만 걱정할 수는 있지만 걱정하지 마십시오! 효소 공급 업체로서, 나는 당신을 도울 수있는 몇 가지 팁과 요령이 있습니다.
먼저, 반응 라우터 구성 요소 테스트가 왜 중요한지 이해해 봅시다. React Router는 React 응용 프로그램에서 라우팅을 처리하기위한 매우 인기있는 라이브러리입니다. 뷰와 탐색으로 단일 페이지 응용 프로그램을 만들 수 있습니다. 그러나 이러한 구성 요소를 테스트 할 때는 상황이 약간 까다로워 질 수 있습니다. 경로가 예상대로 작동하고 내비게이션이 매끄럽고 올바른 구성 요소가 적시에 렌더링되고 있는지 확인해야합니다.


그렇다면 반응 라우터 구성 요소를 효소로 테스트하는 방법은 무엇입니까? 글쎄, 가장 먼저해야 할 일은 테스트 환경을 설정하는 것입니다. 프로젝트에 효소를 설치해야합니다. 아직 그렇지 않은 경우 NPM 또는 원사를 사용하여 설치할 수 있습니다. 그냥 실행NPM ENZYME 효소 - 어댑터 - 반응 - [귀하의 - 반응 - 버전]또는원사 추가 효소 효소 - 어댑터 - 반응 - [your -react- 버전].
효소를 설정 한 후에는 테스트 파일에서 필요한 모듈을 가져와야합니다. 당신은 보통 필요합니다효소자체, REACT 버전의 어댑터 및반응그리고반응. 기본 설정은 다음과 같습니다.
수입 반응에서 '반응'; '효소'에서 {mount} 가져 오기; '효소 - 어댑터 - 반응 - [당신 - 반응 - 버전]'에서 어댑터 가져 오기; 'Enzyme'에서 {configure} 가져 오기; 구성 ({어댑터 : 새 어댑터 ()});
이제 React 라우터 구성 요소의 다양한 측면을 테스트하는 것에 대해 이야기합시다.
경로 렌더링 테스트
테스트하고자하는 가장 기본적인 사항 중 하나는 주어진 경로에 대한 올바른 구성 요소가 렌더링되는지 여부입니다. 당신이 간단하다고 가정 해 봅시다앱사용한 일부 경로가있는 구성 요소REACT -ROUTER -DOM.
수입 반응에서 '반응'; import {BrowserRouter로 라우터로, Route}에서 'Rouct -Router -Dom'; './home'에서 집으로 수입; './about'에서 가져 오기; const app = () => {return (<router> <div> <Route Exact Path = "/"component = {home}/> <Route Path = "/About"component = {about}/> </div> </router>); }; 기본 앱 내보내기;
있는지 테스트합니다집경로가있을 때 구성 요소가 렌더링됩니다/, 당신은 효소를 사용할 수 있습니다산기능.
수입 반응에서 '반응'; '효소'에서 {mount} 가져 오기; './app'에서 앱 가져 오기; './home'에서 집으로 수입; 설명 ( 'app component', () => {it ( '루트 경로에서 홈 구성 요소를 렌더링해야한다', () => {const wrapper = mount (<app />); const homecomponent = wrapper.find (home); excment (homecomponent.exists ()). tobe (true);});
내비게이션 테스트
내비게이션 테스트는 또 다른 중요한 부분입니다. 링크를 클릭하면 오른쪽 페이지로 이동하는지 테스트 할 수 있습니다. 당신이 당신의 내비게이션 링크가 있다고 가정 해 봅시다집요소.
수입 반응에서 '반응'; import {link} from'React -Router -Dom '; const home = () => {return (<div> <h1> 홈 페이지 </h1> <link to = "/aff"> inface </link> </div>); }; 수출 기본 주택;
이 탐색을 테스트하려면 클릭을 시뮬레이션 할 수 있습니다.링크요소와 URL이 예상대로 변경되었는지 확인하십시오. 당신은 사용할 수 있습니다메모리~에서REACT -ROUTER -DOM테스트 환경에서 라우터를 시뮬레이션합니다.
수입 반응에서 '반응'; '효소'에서 {mount} 가져 오기; import {MemoryRouter}에서 'React -Router -Dom'에서 가져옵니다. './home'에서 집으로 수입; './about'에서 가져 오기; 설명 ( 'home component navigation', () => {it ( '링크 클릭의 약 페이지로 이동해야합니다', () => {const wrapper = mount (<memoryRouter initialErtries = {[ '/']}> <home/> </memoryRouter>); const link = wrapper.find ( 'to "/About"]; click.simulate ('click '); rapper.find (aboutcomponent.exists ());
테스트 경로 매개 변수
경로에 매개 변수가있는 경우 구성 요소가 올바르게 처리 할 수 있는지 테스트해야합니다. 당신이 같은 경로가 있다고 가정 해 봅시다/user/: id사용자 세부 사항을 보여줍니다.
수입 반응에서 '반응'; import {BrowserRouter로 라우터로, Route}에서 'Rouct -Router -Dom'; './userdetails'에서 userDetails 가져 오기; const appwithparams = () => {return (<router> <div> <route path = "/user/: id"component = {userDetails}/> </div> </router>); }; 기본 appwithparams 내보내기;
이것을 테스트하려면 사용할 수 있습니다메모리다시 한 번 매개 변수와 함께 초기 항목을 전달하십시오.
수입 반응에서 '반응'; '효소'에서 {mount} 가져 오기; import {MemoryRouter}에서 'React -Router -Dom'에서 가져옵니다. './appwithparams'에서 AppWithParams 가져 오기; './userdetails'에서 userDetails 가져 오기; 설명 ( '경로 매개 변수가 포함 된 앱', () => {it ( '올바른 ID로 사용자 데일을 렌더링해야한다', () => {const wrapper = mount (<memoryRouter initialErtries = {[ '/user/123']]}> <appwithParams/</memoryRouter>); const userDetails = wrapper.find (userDetails); excent (userdetails.props (). match.id) .tobe ( '123');
이제 회사에서 제공하는 일부 제품을 언급하고 싶습니다. 우리는 다양한 허브 추출물을 가지고 있습니다. 자연스러운 음료를 마시면 우리를 확인하십시오CBD 차. 긴장을 풀고 긴장을 풀 수있는 좋은 방법입니다. 그리고 단백질 부스트를 찾는 사람들을 위해유청 단백질 분말/도매 유청 단백질/유청 단백질 벌크/유청 단백질/유청 단백질 최적 영양 영양최고입니다 - 노치. 또한, 당신이 에센셜 오일 시장에 있다면, 우리의100% 순수 천연 페퍼민트 에센셜 오일 / 공장 도매 가격필수입니다.
효소 제품 또는 기타 제품을 구매하는 데 관심이 있다면 대화를 나누고 싶습니다. 당신이 소기업이든 대기업이든, 우리는 귀하의 요구에 맞는 거래를 수행 할 수 있습니다. 우리에게 연락하면 조달 토론을 시작하겠습니다.
참조
- 라우터 공식 문서를 반응합니다
- 효소 공식 문서
따라서 효소로 반응 라우터 구성 요소를 테스트 할 수 있습니다. 처음에는 약간 복잡해 보일 수 있지만, 연습을하면서 당신은 그에게 프로가 될 것입니다. 그리고 궁금한 점이 있거나 더 많은 도움이 필요하면 주저하지 말고 연락하십시오.