[J2EE] Weblaag unit testen

Pagina: 1
Acties:

  • JKVA
  • Registratie: Januari 2004
  • Niet online

JKVA

Design-by-buzzword fanatic

Topicstarter
Wij zijn voor een J2EE project aan het bepalen hoe we het testen gaan regelen. Momenteel zitten we met de vraag hoe we de weblaag gaan testen. Hiervoor zijn tools beschikbaar als Cactus, HttpUnit en zo, maar het probleem is dat de weblaag met JavaServer Faces gemaakt wordt en ik hier geen hulpmiddel voor kan vinden.

Ook voor STRUTS heb ik er geen gevonden waardoor ik begin te twijfelen aan de haalbaarheid/het nut van geautomatiseerde tests voor de weblaag.

Het grootste probleem is volgens mij (en http://www.onjava.com/pub...04/09/22/test-struts.html) dat je Beans in STRUTS bijna niet kan Unit testen, omdat je verschillende objecten mist die onder water door het framework aangemaakt worden.

Ik neem aan dat ik om dezelfde reden geen testtools voor JSF heb gevonden.

Heeft iemand hier ervaring mee?

Fat Pizza's pizza, they are big and they are cheezy


  • -FoX-
  • Registratie: Januari 2002
  • Niet online

-FoX-

Carpe Diem!

HttpUnit / Canoo zijn http test utilities. Hiermee kan je eigenlijk elke webapplicatie gaan testen. Je voert een request uit en verwacht iets terug. Dat kan je hiermee gemakkelijk testen.
Ook bijvoorbeeld, als ik deze URL ingeef; dien ik een pagina te zien waar deze button op staat.

Als je iets lager wil gaan testen, bvb Struts, kan je gebruik maken van Cactus. Cactus draait eigenlijk in je webcontainer, waardoor je wel van de onderliggende capaciteiten van het framework gebruik kunt maken. Cactus biedt echter nog geen support voor JSF.

  • JKVA
  • Registratie: Januari 2004
  • Niet online

JKVA

Design-by-buzzword fanatic

Topicstarter
Maar das toch lastig testen met HttpUnit? Je krijgt dan namelijk een complete HTML pagina terug waar je bijna niks mee kan vergelijken in je unit test. Toch?

Canoo ken ik niet, daar ga ik eerst maar even naar kijken. :)

Fat Pizza's pizza, they are big and they are cheezy


  • -FoX-
  • Registratie: Januari 2002
  • Niet online

-FoX-

Carpe Diem!

HttpUnit gaat eigenlijk voor jou door de applicatie heen klikken. Dus deze gaat checken ofdat alles nog getoond wordt, zoals het gedefinieerd werd.

Bijvoorbeeld:
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
    // Get home page
    WebResponse homePage = wc.getResponse("http://localhost:8080/testapp");
    assertEquals("The homepage should be reachable", 200, homePage.getResponseCode());

    // Navigate to the application settings
    WebImage settingsImage = homePage.getImageWithAltText("Settings");
    WebLink settingsLink = settingsImage.getLink();
    assertNotNull(settingsLink);
    WebResponse settingsPage = settingsLink.click();
    assertEquals("The settingsLink should work", 200, settingsPage.getResponseCode());
    WebForm saveSettingsForm = settingsPage.getFormWithName("SettingsForm");
    String action = saveSettingsForm.getAction();
    assertEquals("The specified action is not valid", action, "/testapp/updateSettings.do");


You get the point...

  • JKVA
  • Registratie: Januari 2004
  • Niet online

JKVA

Design-by-buzzword fanatic

Topicstarter
Aha, misschien toch wel interessant. :)

Fat Pizza's pizza, they are big and they are cheezy