<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Blog de Philippe Vialatte &#187; Tests</title>
	<atom:link href="https://blog.developpez.com/philippe/pcategory/net/tests/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.developpez.com/philippe</link>
	<description></description>
	<lastBuildDate>Fri, 03 Jan 2014 15:12:09 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.1.42</generator>
	<item>
		<title>Tester les exceptions avec NUnit</title>
		<link>https://blog.developpez.com/philippe/p8051/net/tester_les_exceptions_avec_nunit</link>
		<comments>https://blog.developpez.com/philippe/p8051/net/tester_les_exceptions_avec_nunit#comments</comments>
		<pubDate>Fri, 11 Sep 2009 09:30:00 +0000</pubDate>
		<dc:creator><![CDATA[Philippe Vialatte]]></dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Tests]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[En ce moment, je suis en pleine session d&#8217;écriture de tests, et une chose en particulier me fait tiquer, a savoir les tests qui ne sont pas couverts a 100 %. Dans le code en questions, les tests qui font baisser la couverture sont en général des tests qui concernent les exceptions. On y trouve deux familles de tests, on a donc: Le test &#171;&#160;avec attribut&#160;&#187;  [Test] [ExpectedException(typeof(ArgumentOutOfRangeException))] public void MinIntLimit() {     Roman r = new Roman(0); } Ce test [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>En ce moment, je suis en pleine session d&rsquo;écriture de tests, et une chose en particulier me fait tiquer, a savoir les tests qui ne sont pas couverts a 100 %.</p>
<p>Dans le code en questions, les tests qui font baisser la couverture sont en général des tests qui concernent les exceptions. </p>
<p>On y trouve deux familles de tests, on a donc:</p>
<p><strong>Le test &laquo;&nbsp;avec attribut&nbsp;&raquo;</strong> </p>
<div style="border-right: #000000 1px solid; border-top: #000000 1px solid; margin-left: 10pt; border-left: #000000 1px solid; margin-right: 2pt; border-bottom: #000000 1px solid">
<div style="overflow: scroll; white-space: nowrap; background-color: #dcdcdc"><font face=" Consolas"><font size="2"><span>[</span><font color="#800000">Test</font><font color="#000000">]            <br />[</font><font color="#800000">ExpectedException</font><font color="#000000">(</font><font color="#000096">typeof</font><font color="#000000">(</font><font color="#800000">ArgumentOutOfRangeException</font><font color="#000000">))]            <br /></font><font color="#000096">public</font><font color="#000000"> </font><font color="#000096">void</font><font color="#000000"> </font><font color="#0080c0">MinIntLimit</font><font color="#000000">() {            <br />    </font><font color="#2b91af">Roman</font><font color="#000000"> </font><font color="#0080c0">r</font><font color="#000000"> </font><font color="#000096">=</font><font color="#000000"> </font><font color="#000096">new</font><font color="#000000"> <font color="#2b91af">Roman</font></font><font color="#000000">(</font><font color="#ff0000">0</font><font color="#000000">);            <br />}</font></font></font> </div>
</p></div>
<p>Ce test utilise l&rsquo;attribut <strong>ExpectedException</strong> pour que le test fonctionne réussisse si et seulement si il jette un exception du type demande (ici, <strong>ArgumentOutOfRangeException</strong>). Le problème, en termes de couverture, est que tout le code situe en dessous de l&rsquo;exception est ignore, le code n&rsquo;est donc pas couvert a 100%.</p>
<p><strong>Le test &laquo;&nbsp;traditionnel&nbsp;&raquo;</strong></p>
<p>Si on n&rsquo;utilise pas NCover, ou si on veut faire des tests sur le message retourné, on produit plus régulièrement de genre de code :</p>
<div style="border-right: #000000 1px solid; border-top: #000000 1px solid; margin-left: 10pt; border-left: #000000 1px solid; margin-right: 2pt; border-bottom: #000000 1px solid">
<div style="overflow: scroll; white-space: nowrap; background-color: #dcdcdc"><font face=" Consolas"><font size="2"><span>[</span><font color="#800000">Test</font><font color="#000000">]            <br /></font><font color="#000096">public</font><font color="#000000"> </font><font color="#000096">void</font><font color="#000000"> </font><font color="#0080c0">TestThatProperExceptionIsThrown</font><font color="#000000">() {            <br />    </font><font color="#000096">try</font><font color="#000000"> {            <br />        </font><font color="#0080c0">MethodUnderTest</font><font color="#000000">(</font><font color="#0080c0">anInvalidObject</font><font color="#000000">);            <br />        </font><font color="#800000">Assert</font><font color="#000096">.</font><font color="#0080c0">Fail</font><font color="#000000">(</font><font color="#0000ff">&laquo;&nbsp;Expected an exception, but none was thrown&nbsp;&raquo;</font><font color="#000000">);            <br />    } </font><font color="#000096">catch</font><font color="#000000"> (</font><font color="#800000">ArgumentException</font><font color="#000000"> </font><font color="#0080c0">ex</font><font color="#000000">) {            <br />        </font><font color="#800000">Assert</font><font color="#000096">.</font><font color="#0080c0">AreEqual</font><font color="#000000">(</font><font color="#0080c0">ex</font><font color="#000096">.</font><font color="#0080c0">ParamName</font><font color="#000000">, </font><font color="#0000ff">&laquo;&nbsp;myParam&nbsp;&raquo;</font><font color="#000000">);            <br />        </font><font color="#800000">Assert</font><font color="#000096">.</font><font color="#0080c0">AreEqual</font><font color="#000000">(</font><font color="#0080c0">ex</font><font color="#000096">.</font><font color="#0080c0">Message</font><font color="#000000">, </font><font color="#0000ff">&laquo;&nbsp;My message&nbsp;&raquo;</font><font color="#000000">);            <br />    } </font><font color="#000096">catch</font><font color="#000000"> (</font><font color="#800000">Exception</font><font color="#000000"> </font><font color="#0080c0">ex</font><font color="#000000">) {            <br />        </font><font color="#800000">Assert</font><font color="#000096">.</font><font color="#0080c0">Fail</font><font color="#000000">(</font><font color="#0000ff">&laquo;&nbsp;Expected an ArgumentException but got a &nbsp;&raquo;            <br /></font><font color="#000000">          </font><font color="#000096">+</font><font color="#000000"> </font><font color="#0080c0">ex</font><font color="#000096">.</font><font color="#0080c0">GetType</font><font color="#000000">()</font><font color="#000096">.</font><font color="#0080c0">FullName</font><font color="#000000">);            <br />    }             <br />}</font></font></font> </div>
</p></div>
<p>NB. : cet exemple vient directement du <a href="http://nunit.com/blogs/?p=63">blog de NUnit</a>, alors on peut admettre qu&rsquo;il soit mentionné comme &laquo;&nbsp;bonne pratique&nbsp;&raquo;</p>
<p><strong>Sauf que&#8230;</strong></p>
<p>Sauf que si les tests fonctionnent correctement, une partie du code ne sera jamais atteinte, de même que si ils échouent.</p>
<p><strong>Pourquoi ca pose problème ?</strong></p>
<p>En général, je ne cherche pas a atteindre 100% de couverture&#8230;dans mon code testé ! Par contre, si une partie du code de test n&rsquo;est pas joué, cela peut vouloir dire, au choix, deux choses :</p>
<ol>
<li>Que le code testé est faux </li>
<li>Que le test est faux </li>
</ol>
<p><strong>Comment corriger les tests ?</strong></p>
<p>Une option est de reprendre le code ci-dessus de la façon suivante :</p>
<div style="border-right: #000000 1px solid; border-top: #000000 1px solid; margin-left: 10pt; border-left: #000000 1px solid; margin-right: 2pt; border-bottom: #000000 1px solid">
<div style="overflow: scroll; white-space: nowrap; background-color: #dcdcdc"><font face=" Consolas"><font size="2"><span>[</span><font color="#800000">Test</font><font color="#000000">]            <br /></font><font color="#000096">public</font><font color="#000000"> </font><font color="#000096">void</font><font color="#000000"> </font><font color="#0080c0">TestThatProperExceptionIsThrown</font><font color="#000000">() {            <br />    </font><font color="#000096">bool</font><font color="#000000"> </font><font color="#0080c0">wasTriggered</font><font color="#000000"> </font><font color="#000096">=</font><font color="#000000"> </font><font color="#000096">false</font><font color="#000000">;            <br />    </font><font color="#000096">try</font><font color="#000000"> {            <br />        </font><font color="#0080c0">MethodUnderTest</font><font color="#000000">(</font><font color="#0080c0">anInvalidObject</font><font color="#000000">);            <br />    } </font><font color="#000096">catch</font><font color="#000000"> (</font><font color="#800000">ArgumentException</font><font color="#000000"> </font><font color="#0080c0">ex</font><font color="#000000">) {            <br />        </font><font color="#0080c0">wasTriggered</font><font color="#000000"> </font><font color="#000096">=</font><font color="#000000"> </font><font color="#000096">true</font><font color="#000000">;            <br />        </font><font color="#800000">Assert</font><font color="#000096">.</font><font color="#0080c0">AreEqual</font><font color="#000000">(</font><font color="#0080c0">ex</font><font color="#000096">.</font><font color="#0080c0">ParamName</font><font color="#000000">, </font><font color="#0000ff">&laquo;&nbsp;myParam&nbsp;&raquo;</font><font color="#000000">);            <br />        </font><font color="#800000">Assert</font><font color="#000096">.</font><font color="#0080c0">AreEqual</font><font color="#000000">(</font><font color="#0080c0">ex</font><font color="#000096">.</font><font color="#0080c0">Message</font><font color="#000000">, </font><font color="#0000ff">&laquo;&nbsp;My message&nbsp;&raquo;</font><font color="#000000">);            <br />    }             <br />    </font><font color="#800000">Assert</font><font color="#000096">.</font><font color="#0080c0">IsTrue</font><font color="#000000">(</font><font color="#0080c0">wasTriggered</font><font color="#000000">, </font><font color="#0000ff">&laquo;&nbsp;Expected an exception, but none was thrown&nbsp;&raquo;</font><font color="#000000">);            <br />}</font></font></font> </div>
</p></div>
<p>Le catch sur une exception n&rsquo;est plus présent&#8230;effectivement, mais de toute façon, si il n&rsquo;est plus présent, le test va échouer quoi qu&rsquo;il arrive&#8230;</p>
<p>Et selon vous, la couverture du code de test est-elle importante ? Cette méthode vous semble-t&rsquo;elle valide ?</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Un Séminaire web organisé par TypeMock sur les tests unitaires</title>
		<link>https://blog.developpez.com/philippe/p7907/net/un_seminaire_web_organise_par_typemock_s</link>
		<comments>https://blog.developpez.com/philippe/p7907/net/un_seminaire_web_organise_par_typemock_s#comments</comments>
		<pubDate>Mon, 27 Jul 2009 14:08:00 +0000</pubDate>
		<dc:creator><![CDATA[Philippe Vialatte]]></dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[Tests]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Le post est un peu vieux, mais avec les vacances, je l&#8217;avais manque. Le 29 Juillet, TypeMock organise un séminaire web (webinar) gratuit sur le sujet de l&#8217;introduction des tests unitaires au sein d&#8217;une société ou d&#8217;une equipe, ainsi que sur des trucs et astuces autour des tests unitaires. Le webinar est anime par Roy Osherove, qui a récemment écrit un livre très sympa sur les tests unitaires (la critique doit suivre dans les jours [&#8230;]]]></description>
				<content:encoded><![CDATA[<p> Le post est un peu vieux, mais avec les vacances, je l&rsquo;avais manque.</p>
<p>Le 29 Juillet, TypeMock organise un séminaire web (webinar) gratuit sur le sujet de l&rsquo;introduction des tests unitaires au sein d&rsquo;une société ou d&rsquo;une equipe, ainsi que sur des trucs et astuces autour des tests unitaires. </p>
<p>Le webinar est anime par Roy Osherove, qui a récemment écrit un livre très sympa sur les tests unitaires (la critique doit suivre dans les jours a venir <img src="https://blog.developpez.com/philippe/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley" /> )&#8230;</p>
<p>Personnellement, je pense m&rsquo;inscrire, deux sessions sont prévues, une a 6 heures du mat&rsquo; pour nous (un peu tôt), l&rsquo;autre a 21 heures (un peu tard).</p>
<p>Pour plus de détails, voir ici :</p>
<p><a href="http://blog.typemock.com/2009/07/lead-way-in-unit-testing-live-webinar.html">The Typemock Insider Blog: Lead the way in unit testing &#8211; live Webinar</a></p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Typemock, ou la minute de pub</title>
		<link>https://blog.developpez.com/philippe/p7623/net/typemock_ou_la_minute_de_pub</link>
		<comments>https://blog.developpez.com/philippe/p7623/net/typemock_ou_la_minute_de_pub#comments</comments>
		<pubDate>Tue, 19 May 2009 12:43:00 +0000</pubDate>
		<dc:creator><![CDATA[Philippe Vialatte]]></dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[Tests]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[J&#8217;avais mentionne dans mon article Utilisation de Frameworks de Mock en .Net un framework de Mock bien sympathique, a savoir TypeMock Isolator. Depuis aujourd&#8217;hui, est sorti un bundle comprenant TypeMock + un add-on permettant le test unitaire dans ASP.NET. Unit Testing ASP.NET? ASP.NET unit testing has never been this easy. Typemock is launching a new product for ASP.NET developers &#8211; the ASP.NET Bundle &#8211; and for the launch will be giving out FREE licenses to [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>J&rsquo;avais mentionne dans mon article <a title="http://philippe.developpez.com/articles/IntroductionMock/" href="http://philippe.developpez.com/articles/IntroductionMock/">Utilisation de Frameworks de Mock en .Net</a> un framework de Mock bien sympathique, a savoir TypeMock Isolator.</p>
<p>Depuis aujourd&rsquo;hui, est sorti un bundle comprenant TypeMock + un add-on permettant le test unitaire dans ASP.NET.</p>
<blockquote><p><a href="http://www.typemock.com/">Unit Testing</a> ASP.NET? <a href="http://www.typemock.com/ASP.NET_unit_testing_page.php">ASP.NET unit testing</a> has never been this easy.</p>
<p>Typemock is launching a new product for ASP.NET developers &#8211; the <strong>ASP.NET Bundle</strong> &#8211; and for the launch will be giving out <strong>FREE licenses</strong> to bloggers and their readers.      <br />The ASP.NET Bundle is the ultimate ASP.NET unit testing solution, and offers both <a href="http://www.typemock.com/">Typemock Isolator</a>, a <a href="http://www.typemock.com/">unit test</a> tool and <a href="http://sm-art.biz/Ivonna.aspx">Ivonna</a>, the Isolator add-on for <a href="http://sm-art.biz/Ivonna.aspx">ASP.NET unit testing</a>, for a bargain price.</p>
<p>Typemock Isolator is a leading <a href="http://www.typemock.com/">.NET unit testing</a> tool (C# and VB.NET) for many &lsquo;hard to test&rsquo; technologies such as <a href="http://typemock.com/sharepointpage.php">SharePoint</a>, <a href="http://www.typemock.com/ASP.NET_unit_testing_page.php">ASP.NET</a>, <a href="http://www.typemock.com/ASP.NET_unit_testing_page.php">MVC</a>, <a href="http://www.typemock.com/wcfpage.php">WCF</a>, WPF, <a href="http://www.typemock.com/Silverlight_unit_testing_page.php">Silverlight</a> and more. Note that for <a href="http://www.typemock.com/Silverlight_unit_testing_page.php">unit testing Silverlight</a> there is an open source Isolator add-on called <a href="http://www.typemock.com/Silverlight_unit_testing_page.php">SilverUnit</a>.</p>
<p>The first 60 bloggers who will blog this text in their blog and <a href="http://blog.typemock.com/2009/05/get-free-typemock-licenses-aspnet.html">tell us about it</a>, will get a Free Isolator ASP.NET Bundle license (Typemock Isolator + Ivonna). If you post this in an ASP.NET <strong>dedicated</strong> blog, you&rsquo;ll get a license automatically (even if more than 60 submit) during the first week of this announcement.      <br />Also 8 bloggers will get an <strong>additional 2 licenses</strong> (each) to give away to their readers / friends.      <br />Go ahead, click the following link for <a href="http://blog.typemock.com/2009/05/get-free-typemock-licenses-aspnet.html">more information </a>on how to get your free license.</p>
<p> </p>
</blockquote>
<p> Alors, oui, c&rsquo;est de la pub éhontée, pour espérer gagner une licence gratuite&#8230;mais c&rsquo;est aussi un très bon produit, que j&rsquo;avais pu tester avec leur version  communautaire (malheureusement discontinuée), et qui permets de tester facilement du code qui normalement ne peut pas être testé&#8230;</p>
<p>Alors, si vous avez des tests a faire, allez jeter un oeil (et ca marche <strong>AUSSI </strong>avec Sharepoint <img src="https://blog.developpez.com/philippe/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley" /><strong> )</strong></p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Tests] Ou placer les tests unitaires ?</title>
		<link>https://blog.developpez.com/philippe/p7580/net/tests_ou_placer_les_tests_unitaires</link>
		<comments>https://blog.developpez.com/philippe/p7580/net/tests_ou_placer_les_tests_unitaires#comments</comments>
		<pubDate>Fri, 08 May 2009 19:20:00 +0000</pubDate>
		<dc:creator><![CDATA[Philippe Vialatte]]></dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[Tests]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Suite à une petite discussion sur un forum externe a DVP (celui d&#8217;un des livres que je suis en train de lire), je me pose un peu des questions sur les pratiques de tests(unitaires ou autres). De mes différentes expériences, un a grosso modo deux choix, avec une variante : Stocker les tests dans des projets spécifiques : Dans ce cas, que j&#8217;utilise en général, on va ajouter à la solution un (ou plusieurs, dan [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Suite à une petite discussion sur un forum externe a DVP (celui d&rsquo;un des livres que je suis en train de lire), je me pose un peu des questions sur les pratiques de tests(unitaires ou autres).</p>
<p>De mes différentes expériences, un a grosso modo deux choix, avec une variante :</p>
<ul>
<li>Stocker les tests dans des projets spécifiques : </li>
</ul>
<blockquote><p>Dans ce cas, que j&rsquo;utilise en général, on va ajouter à la solution un (ou plusieurs, dan le cas ou on veut séparer les tests unitaires et les tests d&rsquo;intégration) projet, dont le contenu sera uniquement composé de tests. Par exemple, ma solution Solution1 va avoir un projet Solution1.UnitTests et un projet Solution1.IntegrationTests. Cette configuration va me permettre de localiser facilement les tests, de configurer facilement un serveur d&rsquo;intégration continue pour lancer le(s) projet(s) de test.</p>
</blockquote>
<ul>
<li>Stocker les tests dans les projets du code testé: </li>
</ul>
<blockquote><p>L&rsquo;avantage principal de cette méthode est de pouvoir accéder aux propriétés internes, voire privées (si le test est dans la classe) de la classe en cours de test. Cela permets aussi de voir facilement le code testé, le code étant dans le même fichier, ou dans le même répertoire.</p>
</blockquote>
<p>Personnellement, je suis plutôt fermement convaincu que la première méthode est la meilleure.</p>
<p>En premier lieu, les tests unitaires doivent être des tests de &laquo;&nbsp;boite noire&nbsp;&raquo; , donc des tests qui en s&rsquo;occupent pas du contenu réel du code testé, mais des entrées et sorites. Dans le cas contraire, les tests en savent souvent trop sur le code testé, et finissent par devenir fragiles et constituent une résistance au changement. Par conséquent, je considère l&rsquo;avantage principale du stockage de tests dans le même projet comme potentiellement dangereux</p>
<p>Ensuite, imaginons que, pour des raisons d&rsquo;extensivité des tests, on veuille explicitement tester un membre interne d&rsquo;une classe donnée. Dans ce cas, il suffit d&rsquo;ajouter l&rsquo;attribut InternalsVisibleTo pour contourner le problème.</p>
<p>Enfin, cela permets de ne pas livrer de code qui ne sera pas utilisé par les clients finaux.</p>
<p>Alors, à ca, on m&rsquo;à répondu que c&rsquo;était &laquo;&nbsp;plus simple&nbsp;&raquo; de mettre le code de test dans les mêmes projets/fichiers.mais je ne suis pas tout à fait d&rsquo;accord, d&rsquo;ou ma question, qu&rsquo;en pensez-vous ???</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>[TDD] Revues de tests commentées par Roy Osherove</title>
		<link>https://blog.developpez.com/philippe/p7403/net/net_tdd_revues_de_tests_commentees_par_r</link>
		<comments>https://blog.developpez.com/philippe/p7403/net/net_tdd_revues_de_tests_commentees_par_r#comments</comments>
		<pubDate>Tue, 24 Mar 2009 16:56:00 +0000</pubDate>
		<dc:creator><![CDATA[Philippe Vialatte]]></dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[Tests]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Je suis régulièrement le blog de Roy Osherove, un développeur et architecte qui travaille actuellement pour TypeMock, un éditeur de logiciel qui publie le Framework de mocking&#8230;typeMock En general, son  blog est déjà assez intéressant (si vous etes interesses par tout ce qui touche aux tests unitaires, bien sur&#8230;), mais, depuis quelques temps, il poste des webcasts de revue de tests unitaires, sur des projets aussi peu stratégiques et visibles que le framework Asp.Net MVC, [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Je suis régulièrement le blog de Roy Osherove, un développeur et architecte qui travaille actuellement pour <a href="http://typemock.com/">TypeMock</a>, un éditeur de logiciel qui publie le Framework de mocking&#8230;typeMock <img src="https://blog.developpez.com/philippe/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley" /></p>
<p>En general, son  blog est déjà assez intéressant (si vous etes interesses par tout ce qui touche aux tests unitaires, bien sur&#8230;), mais, depuis quelques temps, il poste des webcasts de revue de tests unitaires, sur des projets aussi peu stratégiques et visibles que le framework Asp.Net MVC, ou Unity (le conteneur IoC de Microsoft).</p>
<p>La première revue de code est un peu&#8230;bizarre (tournée a deux heures du matin, avec un petit peu de mauvaise foi par moments <img src="https://blog.developpez.com/philippe/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley" /> ), mais très intéressante tout de même, les suivantes sont encore mieux&#8230;</p>
<p>Si vous utilisez des tests unitaires (je ne parle pas de TDD, mais de tests unitaires au sens large), ou simplement si vous êtes curieux (et que vous n&rsquo;êtes pas effrayés par un webcast en anglais, bien articulé), je vous conseille de vous rendre a l&rsquo;URL suivante pour jeter un oil a ces webcasts (prévoyez une petite heure, ce ne sont pas des <a href="http://www.dimecast.com/">DimeCasts</a> <img src="https://blog.developpez.com/philippe/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley" /></p>
<p><a title="http://weblogs.asp.net/rosherove/archive/tags/TestReview/default.aspx" href="http://weblogs.asp.net/rosherove/archive/tags/TestReview/default.aspx">http://weblogs.asp.net/rosherove/archive/tags/TestReview/default.aspx</a></p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
