<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: JSF testen met EasyMock</title>
	<atom:link href="http://blog.smart-java.nl/blog/index.php/2008/01/15/jsf-testen-met-easymock/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.smart-java.nl/blog/index.php/2008/01/15/jsf-testen-met-easymock/</link>
	<description>Ordina J-Technologies - Java Blog</description>
	<lastBuildDate>Fri, 30 Jul 2010 13:00:28 +0200</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Peter Schuler</title>
		<link>http://blog.smart-java.nl/blog/index.php/2008/01/15/jsf-testen-met-easymock/comment-page-1/#comment-371</link>
		<dc:creator>Peter Schuler</dc:creator>
		<pubDate>Thu, 03 Dec 2009 10:14:30 +0000</pubDate>
		<guid isPermaLink="false">http://blog.smart-java.nl/?p=7#comment-371</guid>
		<description>Goeie post. Ik heb deze oplossing net geimplementeert voor de unittest van een custom JSF component. Wel heb je dan toch nog behoorlijke kennis nodig van de interne werking van JSF om deze componenten goed te kunnen testen. In mijn voorbeeld was het clientId noodzakelijk en heb ik mijn component als volgt geladen:

//Maak een nieuwe ui datum object aan met een geldig id/clientId
//en zonder renderer! Anders moet die ook nog gemocked worden.
uiVeld = new UIVeld();
uiVeld.setId(&quot;jsf_12121&quot;);
uiVeld.setRendererType(null);

Ik heb alleen easy mock vervangen voor Mockito (http://mockito.org/). Werkt standaard tegen classes en je hoeft geen stricte playlist meer op te geven.</description>
		<content:encoded><![CDATA[<p>Goeie post. Ik heb deze oplossing net geimplementeert voor de unittest van een custom JSF component. Wel heb je dan toch nog behoorlijke kennis nodig van de interne werking van JSF om deze componenten goed te kunnen testen. In mijn voorbeeld was het clientId noodzakelijk en heb ik mijn component als volgt geladen:</p>
<p>//Maak een nieuwe ui datum object aan met een geldig id/clientId<br />
//en zonder renderer! Anders moet die ook nog gemocked worden.<br />
uiVeld = new UIVeld();<br />
uiVeld.setId(&#8220;jsf_12121&#8243;);<br />
uiVeld.setRendererType(null);</p>
<p>Ik heb alleen easy mock vervangen voor Mockito (<a href="http://mockito.org/" rel="nofollow">http://mockito.org/</a>). Werkt standaard tegen classes en je hoeft geen stricte playlist meer op te geven.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jan-Kees van Andel</title>
		<link>http://blog.smart-java.nl/blog/index.php/2008/01/15/jsf-testen-met-easymock/comment-page-1/#comment-344</link>
		<dc:creator>Jan-Kees van Andel</dc:creator>
		<pubDate>Fri, 10 Jul 2009 10:27:06 +0000</pubDate>
		<guid isPermaLink="false">http://blog.smart-java.nl/?p=7#comment-344</guid>
		<description>Ja, maar het probleem is dat als ik addMessage niet expect, de test faalt omdat er een unexpected method call plaatsvindt.

Je kunt natuurlijk ook Nice Mocks gebruiken.</description>
		<content:encoded><![CDATA[<p>Ja, maar het probleem is dat als ik addMessage niet expect, de test faalt omdat er een unexpected method call plaatsvindt.</p>
<p>Je kunt natuurlijk ook Nice Mocks gebruiken.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: vlu17549</title>
		<link>http://blog.smart-java.nl/blog/index.php/2008/01/15/jsf-testen-met-easymock/comment-page-1/#comment-343</link>
		<dc:creator>vlu17549</dc:creator>
		<pubDate>Thu, 09 Jul 2009 19:18:27 +0000</pubDate>
		<guid isPermaLink="false">http://blog.smart-java.nl/?p=7#comment-343</guid>
		<description>Ik kom er slechts een jaartje achteraf op reageren.. :)

Een hele kleine correctie:
    /*
     * Because addMessage is a void method, you need expectLastCall(), instead of
     * expect(some method call). expect(void method) makes your compiler unhappy.
     */
    EasyMock.expectLastCall();

Dat hoef je alleen te gebruiken als je een void-methode een exception wil laten gooien. By replay/verify wordt de call gewoon meegenomen.

Verder duurt het verschrikkelijk lang om de FacesContext te mocken (unittest gaat van 0,07s naar 0,75s, belachelijk toch?). Ook een beetje jammer dat daar niet gewoon interfaces boven hangen, was het vast sneller gegaan...</description>
		<content:encoded><![CDATA[<p>Ik kom er slechts een jaartje achteraf op reageren.. <img src='http://blog.smart-java.nl/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Een hele kleine correctie:<br />
    /*<br />
     * Because addMessage is a void method, you need expectLastCall(), instead of<br />
     * expect(some method call). expect(void method) makes your compiler unhappy.<br />
     */<br />
    EasyMock.expectLastCall();</p>
<p>Dat hoef je alleen te gebruiken als je een void-methode een exception wil laten gooien. By replay/verify wordt de call gewoon meegenomen.</p>
<p>Verder duurt het verschrikkelijk lang om de FacesContext te mocken (unittest gaat van 0,07s naar 0,75s, belachelijk toch?). Ook een beetje jammer dat daar niet gewoon interfaces boven hangen, was het vast sneller gegaan&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Roy van Rijn</title>
		<link>http://blog.smart-java.nl/blog/index.php/2008/01/15/jsf-testen-met-easymock/comment-page-1/#comment-6</link>
		<dc:creator>Roy van Rijn</dc:creator>
		<pubDate>Wed, 16 Jan 2008 09:10:21 +0000</pubDate>
		<guid isPermaLink="false">http://blog.smart-java.nl/?p=7#comment-6</guid>
		<description>Goed verhaal! Mocht ik ook nog eens een project moeten doen met JSF zal ik zeker even terugkijken hier voor een goede test-opzet.

Als we het toch over testen hebben van webframeworks heb ik nog wel een tip voor Wicket gebruikers: WicketTester. 

Deze klasse komt niet erg vaak voor in de documentatie maar het geeft de gebruiker een prima startpunt voor het testen van je Wicket applicatie. Zo verifieert deze unit test of de pagina gerenderd kan worden, of de HTML geparsed kan worden en er kunnen zelfs AJAX requests gemocked worden. Tevens is het mogelijk om via WicketTester knoppen in de drukken en de reacties in de code te bekijken. Met het gebruik van de SpringComponentInjector kunnen mock-services in the pagina geinjecteerd worden (mocht je Spring gebruiken). Voor guice is waarschijnlijk iets soortgelijks mogelijk.</description>
		<content:encoded><![CDATA[<p>Goed verhaal! Mocht ik ook nog eens een project moeten doen met JSF zal ik zeker even terugkijken hier voor een goede test-opzet.</p>
<p>Als we het toch over testen hebben van webframeworks heb ik nog wel een tip voor Wicket gebruikers: WicketTester. </p>
<p>Deze klasse komt niet erg vaak voor in de documentatie maar het geeft de gebruiker een prima startpunt voor het testen van je Wicket applicatie. Zo verifieert deze unit test of de pagina gerenderd kan worden, of de HTML geparsed kan worden en er kunnen zelfs AJAX requests gemocked worden. Tevens is het mogelijk om via WicketTester knoppen in de drukken en de reacties in de code te bekijken. Met het gebruik van de SpringComponentInjector kunnen mock-services in the pagina geinjecteerd worden (mocht je Spring gebruiken). Voor guice is waarschijnlijk iets soortgelijks mogelijk.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
