TestNG este un cadru de testare puternic, care permite dezvoltatorilor să scrie teste flexibile cu gruparea, secvențierea, și caracteristici bazate pe date; se face chiar scris teste paralele ușor. Și cea mai puternică caracteristică, în opinia mea, este un set de ascultători care se conectează la TestNG, ceea ce permite controlul mai bun al cazurilor de testare sau mărirea raportării etc.
pluginul TestNG Eclipse vă oferă posibilitatea de a rula și depana cazuri de testare TestNG în Eclipse IDE.
acest articol împărtășește câteva sfaturi despre cum să fii eficient atunci când creezi și rulezi teste cu pluginul TestNG Eclipse.
instalare
TestNG pentru Eclipse Plugin este disponibil pe Eclipse Marketplace, vă rugăm să urmați ghidul de instalare.
utilizați TestNG Eclipse Plugin
teste de creație
când creați cazurile de testare TestNG, șabloanele predefinite vă pot ajuta cu siguranță să fiți mai eficienți. Pentru a crea o metodă de testare, în editor, tastați test
, apoi apăsați tasta rapidă Content Assist (‘Alt+ /’ În cazul meu), Selectați șablonul ca mai jos:
notă: vor exista mai multe șabloane disponibile în TestNG Eclipse Plugin 6.10.1, de exemplu, ‘setup’, ‘teardown’, etc.
Run / depanare teste
Lauching teste
există mai multe moduri de a lansa teste, care este foarte util. Iată diferitele moduri în care se poate face:
- făcând clic dreapta pe clasa de testare sau pe editorul sursă, pentru a rula acel test.
- faceți clic dreapta pe pachet, pentru a rula toate testele sub pachet.
- faceți clic dreapta pe fișierul XML TestNG suite, pentru a rula suita de testare personalizată.
- sau, du-te pentru a rula configurare pentru un control mai bun pe configurația de lansare, de exemplu, grupul de testare pentru a rula; proprietăți de sistem trece la procesul de testare runtime, etc.
re-run nu a reușit teste
dacă aveți mai multe teste nu a reușit, după ce ați repara codul de testare, puteți rula din nou testele nu a reușit cu totul pentru a economisi timp:
integrare Maven
dacă proiectul dvs. este gestionat de Maven, poate doriți să configurați maven-surefire-plugin
sau maven-failsafe-plugin
pentru a rula cazul de testare. Să presupunem că treceți următoarele argumente JVM și proprietățile sistemului la procesul de testare runtime:
<artifactId>maven-surefire-plugin</artifactId><configuration> <suiteXmlFiles> <suiteXmlFile>test-suite/testng.xml</suiteXmlFile> </suiteXmlFiles> <argLine>-javaagent:${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar -Xmx1024m -XX:MaxPermSize=512m -Xms256m -Xmx1024m -XX:PermSize=128m -Dversion=${project.version} </argLine> <systemPropertyVariables> <foo>${foo.value}</foo> </systemPropertyVariables> <environmentVariables> <bar>${bar.value}</bar> </environmentVariables></configuration>
testele rula bine cu Maven cli, mvn -e test
, dar ar putea eșua cu orice versiune TestNG Eclipse Plugin înainte de 6.9.10. În acest caz, va trebui să copiați manual proprietățile sistemului pentru a lansa configurația pentru fiecare test.
din fericire, astăzi, TestNG Eclipse Plugin poate analiza configurația maven-surefire/failsafe-plugin
, auto le adăuga la configurația de lansare. În acest fel, face și comportamentul cât mai aproape de rularea pe linia de comandă. Pentru mai multe detalii, vă rugăm să consultați ghidul oficial.
Notă: Caracteristica echivalentă pentru integrarea Gradle cu Eclipse Buildship este în curs de planificare, puteți urmări biletul aici.
TestNG Eclipse plugin intern
este util să înțelegeți nucleul pluginului TestNG Eclipse, mai ales atunci când aveți probleme cu utilizarea acestuia.
atunci când un test de funcționare, plugin-ul are nevoie pentru a obține rezultatele testelor din procesul de testare runtime și a le afișa pe vizualizarea în timp real.
comunicarea dintre plugin și procesul de testare runtime se face prin socket. Pluginul pornește mai întâi serverul socket. În timp ce este pe procesul de testare runtime există un set de ascultători care cârlig în Runtime TestNG și trimite rezultatele testelor înapoi la plugin prin socket.
funcționalitățile de comunicare socket sunt menținute în proiectul ‘testng-remote’ pe GitHub.
cuvinte finale
continuăm să îmbunătățim experiența pluginului TestNG Eclipse, vă rugăm să trimiteți feedback-ul și ideile dvs. despre proiectul GitHub aici.
despre autor
Nick Tan
Ebates
- GitHub