Eines d'automatització per provar aplicacions ReactJS

Tinc previst provar una aplicació ReactJS i volia esbrinar quina és la millor eina del mercat per dur a terme proves de punta a punta? Després de fer una petita investigació, vaig trobar que hi ha moltes eines disponibles per provar les aplicacions de ReactJS, però quina és la millor per fer proves de punta a punta?

Resposta:

No hi ha cap concepte de 'millor eina' quan es tracta de proves automatitzades. Tot depèn del context del vostre projecte i del que vulgueu aconseguir amb l'eina.


He provat les aplicacions Angular i ReactJS i només les he fet servir Selenium WebDriver com a eina d’automatització de proves per crear proves de punta a punta. Tot i això, sembla que hi ha un nombre creixent d’eines i marcs d’automatització de proves basats en JS per provar aplicacions ReactJS. Aquestes eines semblen ser molt populars entre els desenvolupadors “front-end”, ja que es basen en el llenguatge que els desenvolupadors estan familiaritzats amb JavaScript.

Això vol dir que no només els provadors poden escriure proves de punta a punta automatitzades, sinó que els desenvolupadors també poden ajudar quan no hi ha prou temps ni recursos.


A continuació es mostra una llista d'eines i marcs d'automatització de proves per provar l'aplicació ReactJS:



Eines d'automatització de proves per a ReactJS

WebDriver.io

WebdriverIO és una utilitat de prova de codi obert per a Node.js . Permet escriure proves de seleni molt fàcils amb Javascript al vostre marc de proves BDD o TDD preferit.

Nightwatch.js

Nightwatch.js és fàcil d'utilitzar Node.js solució de proves basada en el punt final (E2E) per a aplicacions i llocs web basats en navegadors. Utilitza els poderosos API W3C WebDriver per realitzar ordres i afirmacions sobre elements DOM.

MalsonJS

Nightmare és una biblioteca d'automatització de navegadors d'alt nivell Segment .


Sota les cobertes, s’utilitza Electró , que és similar a PhantomJS però aproximadament el doble de ràpid i més modern.

Niffy és una eina de percepció diferencial basada en Nightmare. Us ajuda a detectar canvis i errors d’interfície d’usuari a les versions de la vostra aplicació web.

Somiar despert és una extensió cromada gratuïta creada per @ stevenmiller888 que us genera scripts de Malson mentre navegueu.

És

Facebook fa servir Jest per provar tot el codi JavaScript, incloses les aplicacions React. Una de les filosofies de Jest és proporcionar una experiència integrada de “configuració zero”. Vam observar que quan els enginyers disposen d’eines preparades per utilitzar, acaben escrivint més proves, que al seu torn donen lloc a bases de codis més estables i saludables. Jest també paral·lela les proves de treball entre treballadors per maximitzar el rendiment.


Mocha

Tot i que Jest és popular entre els desenvolupadors de Facebook per escriure proves automatitzades per a aplicacions ReactJS, té alguns problemes (lent, burleta és confús). El moka s'ha convertit en una alternativa popular. És més dolorós configurar-lo, però pot valer la pena mirar-lo. Espero que es faci més popular en el futur a menys que Jest superi alguns d’aquests problemes principals. Veure Provant les aplicacions web React amb Mocha per començar.

Transportador

Per a les proves d’acceptació, podeu considerar Protector. És principalment una eina Angular construïda a sobre del seleni i inclou una API més agradable. Afortunadament, és possible configurar-lo perquè funcioni amb React. El més interessant d’aquest enfocament és que això us permetrà provar la vostra aplicació amb una gran varietat de navegadors.

Enzim

Enzyme és una utilitat de proves de JavaScript per a React que facilita afirmar, manipular i recórrer la sortida dels components de React. Desenvolupat originalment per Airbnb, és cada vegada més popular. Podeu utilitzar-lo amb qualsevol corredor de prova (moca, gessamí, ...) i és útil chai-enzim connectar.

Enzyme + Mocha sembla ser la millor combinació per provar aplicacions web escrites a ReactJS. És relativament fàcil d’aprendre, fins i tot si algú nou a ReactJS i Mocha poden fer front fàcilment a aquestes eines en poc temps.