Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Extern Java programma testen met JUnit

Pagina: 1
Acties:

  • Gynnad
  • Registratie: September 2010
  • Laatst online: 06:37
Ik ben bezig om een test tool te ontwikkelen voor een extern Java programma. Hiervoor maken wij toevoegingen die ervoor zorgen dat het programma wordt uitgebreid. Natuurlijk komt er wel eens een nieuwere versie van het Java programma uit en dit werkt niet altijd met onze uitbreidingen.

Nu gaan wij hier een testtool voor maken, door middel van JUnit testen willen we dit gaan controleren. Nu is het alleen de vraag, hoe kun je een extern programma testen, waarvan je eigenlijk geen source code hebt, testen met JUnit testen?

We willen het externe java programma op een aparte omgeving installeren en hiervan uit willen we dit gaan testen met JUnit, enkel onze toevoegingen.

edit: inmiddels een SVN van het programma gevonden, waarmee ik het hele programma eraf kan halen, probleem is wel dat het 800mb is. Dit duurt dus wel even, dus nog even kijken of er een handigere manier is.

[ Voor 13% gewijzigd door Gynnad op 23-02-2012 15:41 ]

"Don't worry, about a thing, Cause every little thing is gonna be alright"


  • PietPuk.nl
  • Registratie: November 2008
  • Laatst online: 13-01 14:12
Ik begrijp het probleem niet helemaal.

Ook als je geen source hebt van het Java programma kan je het nog steeds testen met JUnit. Zolang je de class files hebt (en die heb je) dan is er geen probleem.

Of JUnit geschikt is is afhankelijk van het niveau waarop je wilt testen. Unit tests zijn voornamelijk voor het testen van relatief kleine afgebakende stukken functionaliteit (zoals enkele classes).

  • YopY
  • Registratie: September 2003
  • Laatst online: 06-11 13:47
Unit tests wil je niet gebruiken als je niet de code zelf hebt. Unit tests wil je ook niet gaan schrijven en onderhouden als je niet de eigenaar bent van de code - dat mogen ze zelf doen.

Als je integratie of functionele tests wilt schrijven (die bijv. door de applicatie klikken (als het een GUI tool is) of de service aanroepen en het resultaat controleren op correctheid) kun je jUnit wel gebruiken als framework, in combinatie met een toolkit die voor dat specifieke doeleinde bedoeld is.

Maar meer informatie is wel handig - wat wil je precies testen?

  • PietPuk.nl
  • Registratie: November 2008
  • Laatst online: 13-01 14:12
YopY schreef op vrijdag 24 februari 2012 @ 10:28:
Unit tests wil je niet gebruiken als je niet de code zelf hebt. Unit tests wil je ook niet gaan schrijven en onderhouden als je niet de eigenaar bent van de code - dat mogen ze zelf doen.
Ja, helemaal mee eens. Volgens mij wil Gynnad ook alleen zijn eigen toevoegingen gaan testen die inhaken in het bestaande programma.
We willen het externe java programma op een aparte omgeving installeren en hiervan uit willen we dit gaan testen met JUnit, enkel onze toevoegingen.
Wellicht dat ze daarvoor classes uit het bestaande programma gebruiken om te kunnen integreren. Je zou dan op je eigen toevoegingen prima JUnit kunnen gebruiken. Als er dan iets veranderd in de afhankelijkheden (bijv in het 'externe' programma) waardoor de toevoegingen niet meer goed werken zul je dan merken in je unit tests (mits doordacht opgezet).

  • chime
  • Registratie: Januari 2005
  • Laatst online: 24-11 16:36
Junit kan je altijd gebruiken als de klasses zich in het classpath bevinden.

Voor je nieuwe toevoegingen: daarvoor gebruik je inderdaad best junit. (mock wel alles wat reeds standaard is, in unit testen moet je niet gaan liggen klooien met databases, servers, configuratie bestanden, ...

Voor integratie testen kan je ook junit gebruiken, hoewel unitils dan mss beter is wanneer je ook een DB wilt benaderen.
Steek dat best wel in een aparte module: je wilt niet dat de integratie testen ervoor gaan zorgen dat je minder vaak kunt commiten omdat die zo lang duren.