Sovellus testaa halutun DNS-palvelimen vasteaikaa. Käyttäjältä kysytään DNS-palvelmen IP-osoite ja selvitettävä domain nimi. Sovellus lähettää oikeanlaisen UDP-paketin palvelimelle ja kellottaa vastausajan. Testiajankohta, palvelin, ja vasteaika tallennetaan tietokantaan myöhempää vertailua varten.
Sovelluksen voi käynnistää komennolla
mvn compile exec:java -Dexec.mainClass=dnstester.Main
Testit suoritetaan komennolla
mvn test
Testit lähettävät DNS-kyselyjä Googlen palvelimelle, joten testien läpimenoa varten koneella pitää olla Internet-yhteys.
Testikattavuusraportti luodaan komennolla
mvn test jacoco:report
Kattavuusraporttia voi tarkastella avaamalla selaimella tiedosto target/site/jacoco/index.html
Komento
mvn package
generoi hakemistoon target suoritettavan jar-tiedoston DNSTester-1.0-SNAPSHOT.jar
Paksun JAR:n generointi kolmelle käyttöjärjestelmälle (Linux, macOS ja Windows) tuottaa paljon varoituksia, joista en päässyt eroon. JAR kuitenkin toimii. Vaihtoehtona olisi tehdä jokaiselle käyttöjärjestelmälle oma JAR, mutta tässä tapauksessa paksu JAR ei paisunut kohtuuttoman kokoiseksi.
JavaDoc generoidaan komennolla
mvn javadoc:javadoc
JavaDocia voi tarkastella avaamalla selaimella tiedosto target/site/apidocs/index.html
Tiedostoon checkstyle.xml määrittelemät tarkistukset suoritetaan komennolla
mvn jxr:jxr checkstyle:checkstyle
Mahdolliset virheilmoitukset selviävät avaamalla selaimella tiedosto target/site/checkstyle.html
Tällä hetkellä siellä on pari virhettä Tester-luokassa, metodit ovat hieman liian pitkiä. Ne voisi vielä pilkkoa alimetodeiksi, mutta samalla ohjelmalogiikka monimutkaistuisi.