Ei! Se você gosta do desenvolvimento do React, provavelmente se deparou com a necessidade de testar seus componentes em algum momento. E se você está usandoReact.CreateElementPara criar componentes no React, você pode estar se perguntando como testar esses componentes de maneira eficaz. É aí que entra a enzima e, como fornecedor de enzimas, estou aqui para orientá -lo pelo processo passo a passo.
Por que enzima e react.createElement?
Primeiro, vamos falar rapidamente sobre por que usamosReact.CreateElemente enzima.React.CreateElementé uma maneira fundamental de criar elementos de reação no React. Pode parecer antigo - formado com a introdução do JSX, mas ainda existem muitos cenários em que você deseja usá -lo, como em bases de código mais antigas ou quando você precisa de mais controle sobre o processo de criação de elementos.
A enzima, por outro lado, é um utilitário de teste incrível para o React desenvolvido pelo Airbnb. Ele fornece um conjunto de APIs flexíveis para interagir com e testar componentes do React. Isso facilita a montagem de componentes, simula os eventos e afirma a saída.
Configurando o ambiente de teste
Antes de começarmos a testar nossos componentes criados comReact.CreateElement, precisamos configurar nosso ambiente de teste. Primeiro, você precisará instalar o Enzyme e seu adaptador para sua versão do React. Por exemplo, se você estiver usando o React 16, você usaráenzima-adapta-react-16.
NPM Instale Enzyme Enzyme-adapter-react-16-Save-dev
Depois de instalar esses pacotes, você precisará configurar o adaptador no seu arquivo de configuração de teste. Normalmente, você criaria umsetupTests.jsarquivo em seusrcdiretório.
enzima de importação da 'enzima'; Adaptador de importação de 'Enzyme-adapter-react-16'; Enzyme.configure ({adaptador: novo adaptador ()});
Vamos criar um componente com react.createElement
Vamos começar criando um componente simples usandoReact.CreateElement. Aqui está um básicoHelloworldcomponente:
importar reagem de 'react'; const helloworld = () => {return react.createElement ('div', null, 'olá, mundo!'); }; exportar helloworld padrão;
Este componente é bem direto. Isso cria umdivElemento com o texto "Olá, mundo!" dentro dele.
Testando o componente com enzima
Agora que temos nosso componente, vamos testá -lo usando enzima. Usaremos orasoO método de renderização, que torna um componente "superficialmente", o que significa que só torna um nível de profundidade e não renderiza nenhum componente infantil.
importar reagem de 'react'; importar {raso} da 'enzima'; importar helloworld de './helloworld'; descreva ('componente helloworld', () => {it ('deve renderizar o texto correto', () => {const wrapper = raso (<helloworld />); espera (wrapper.text ()). Tobe ('Olá, mundo!');});});
Neste teste, estamos usando orasofunção da enzima para renderizar nossoHelloworldcomponente. Então, estamos usando otextoMétodo para obter o conteúdo de texto do componente renderizado e afirmar que corresponde a "Olá, mundo!".
Trabalhando com componentes que aceitam adereços
Frequentemente, componentes criados comReact.CreateElementaceitar adereços. Vamos criar um novo componente que aceite umnomeProp e usa -o para exibir uma saudação personalizada.
importar reagem de 'react'; const saudação = (props) => {return react.createElement ('div', null, `hello, $ {props.name}!`); }; Saudação padrão de exportação;
Agora, vamos testar este componente. Vamos passar anomeProp para o componente quando o renderizamos usando enzima.
importar reagem de 'react'; importar {raso} da 'enzima'; importação de saudação de './Greeting'; descreva ('componente de saudação', () => {it ('deve renderizar a saudação correta', () => {const wrapper = raso (<recebendo nome = "John" />); espera (wrapper.text ()). Tobe ('hello, John!');});});
Simulação de eventos
Outro aspecto importante dos componentes do teste de reação é simular eventos. Vamos criar um componente com um botão que, quando clicado, atualize algum estado.
importar react, {usestate} de 'react'; const clickable = () => {const [cliques, setClicked] = usestate (false); const handleclick = () => {setClicked (true); }; Retorne react.createElement ('Button', {OnClick: handleclick}, clique? 'Clicou': 'Clique em mim'); }; exportar cliques padrão;
Para testar o evento de clique, usaremos o Enzyme'ssimularmétodo.


importar reagem de 'react'; importar {raso} da 'enzima'; importar cliques em './clickable'; descreva ('componente clicável', () => {it ('deve atualizar o texto quando clicado', () => {const wrapper = raso (<cliquesable />); espera (wrapper.Text ()). TOBE ('clique em mim'); wrapper.find ('Button). SIMULE (' clique ');
Alguns recursos adicionais para testar ingredientes
Se você gosta de ingredientes naturais para projetos ou apenas curioso, confira esses links. Você pode encontrarCurcuma Longa Açafrão Extrato/95%de Curcumina HPLC, Assim,Proteína de cânhamo por atacado de alta qualidade, eGoma árabeem ab.com. Isso pode ser ótimo para várias aplicações!
Conclusão e chamado à ação
Componentes de teste criados comReact.CreateElementO uso da enzima é uma maneira poderosa de garantir a confiabilidade e a funcionalidade dos seus aplicativos React. Seguindo as etapas descritas neste blog, você pode configurar seu ambiente de teste, criar componentes e escrever testes eficazes.
Se você estiver interessado em usar o Enzyme para seus projetos ou tiver alguma dúvida sobre nossos produtos enzimáticos, não hesite em procurar uma discussão sobre compras. Estamos aqui para oferecer as soluções certas para suas necessidades de teste de reação.
Referências
- Reaja documentação oficial
- Repositório enzimático Github