<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://zine.net.pl/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Biblioteka dostępu do TFS i testy jednostkowe</title><link>http://zine.net.pl/blogs/nuwanda/archive/2008/04/03/biblioteka-dostepu-do-tfs-i-testy-jednostkowe.aspx</link><description>W poście Tfs Spotlight – buduję własny CAB wprowadzającym do mojego projektu TfsSpotlight wspomniałem, że jednym z moich celów jest pisanie testów jednostkowych. Chcę w ten sposób zobaczyć jakie problemy pojawią się podczas pisania testów jednostkowych</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP2 (Build: 61129.2)</generator><item><title>re: Biblioteka dostępu do TFS i testy jednostkowe</title><link>http://zine.net.pl/blogs/nuwanda/archive/2008/04/03/biblioteka-dostepu-do-tfs-i-testy-jednostkowe.aspx#907</link><pubDate>Thu, 03 Apr 2008 12:49:44 GMT</pubDate><guid isPermaLink="false">0de27b5c-4a0c-4e7a-8e19-9d082c99f8a3:907</guid><dc:creator>Wojciech Gebczyk</dc:creator><description>&lt;p&gt;Zawsze moeesz uzyc backdoora ;-)&lt;/p&gt;
&lt;p&gt;FormatterServices.GetUninitializedObject&lt;/p&gt;
&lt;p&gt;i hajda na smoka!&lt;/p&gt;
&lt;p&gt;:P&lt;/p&gt;
</description></item><item><title>re: Biblioteka dostępu do TFS i testy jednostkowe</title><link>http://zine.net.pl/blogs/nuwanda/archive/2008/04/03/biblioteka-dostepu-do-tfs-i-testy-jednostkowe.aspx#908</link><pubDate>Thu, 03 Apr 2008 13:05:23 GMT</pubDate><guid isPermaLink="false">0de27b5c-4a0c-4e7a-8e19-9d082c99f8a3:908</guid><dc:creator>nuwanda</dc:creator><description>&lt;p&gt;Test passed :) Dzięki!&lt;/p&gt;
</description></item><item><title>re: Biblioteka dostępu do TFS i testy jednostkowe</title><link>http://zine.net.pl/blogs/nuwanda/archive/2008/04/03/biblioteka-dostepu-do-tfs-i-testy-jednostkowe.aspx#909</link><pubDate>Thu, 03 Apr 2008 13:59:38 GMT</pubDate><guid isPermaLink="false">0de27b5c-4a0c-4e7a-8e19-9d082c99f8a3:909</guid><dc:creator>mgrzeg</dc:creator><description>&lt;p&gt;Wojtek, to faktycznie niezly chwyt :)&lt;/p&gt;
</description></item><item><title>re: Biblioteka dostępu do TFS i testy jednostkowe</title><link>http://zine.net.pl/blogs/nuwanda/archive/2008/04/03/biblioteka-dostepu-do-tfs-i-testy-jednostkowe.aspx#910</link><pubDate>Fri, 04 Apr 2008 13:31:48 GMT</pubDate><guid isPermaLink="false">0de27b5c-4a0c-4e7a-8e19-9d082c99f8a3:910</guid><dc:creator>Wojciech Gebczyk</dc:creator><description>&lt;p&gt;michal, niezly chwyt... ha!&lt;/p&gt;
&lt;p&gt;a co z klasa Aaa ponizej?&lt;/p&gt;
&lt;p&gt;W normalnym developmencie to raczej nie wybuchie to wyjatkiem null ref exception przy dostepnie do wlasciwosci Value.&lt;/p&gt;
&lt;p&gt;Ale po tej &amp;quot;siekierze&amp;quot; FormatterServices.GetUninitializedObject to bum przy get i set.&lt;/p&gt;
&lt;p&gt;PS: wiem ze przyklad bezsensu klasy, ale chodzi o to ze kod klasy moze zakladac ze &amp;quot;readonly&amp;quot;, &amp;quot;sealed&amp;quot; zadzialaja i _value zawsze bedzie zainicjalizowane. A tu niespodzianka pasqdna... :/&lt;/p&gt;
&lt;p&gt;Wystarczy reflectorem zoabczyc co tego uzywa (zaladowac napierw jak najwiecej dllek) a zobaczycie gdzie moze kod wyleciec z takimi zalozeniami.&lt;/p&gt;
&lt;p&gt;public sealed class Aaa {&lt;/p&gt;
&lt;p&gt; &amp;nbsp;private readonly string _value = &amp;quot;Aaa&amp;quot;;&lt;/p&gt;
&lt;p&gt; &amp;nbsp;public Aaa() {}&lt;/p&gt;
&lt;p&gt; &amp;nbsp;public string Value {&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;get {&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;_value = value.Trim();&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;return _value;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;}&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;set {&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (!_value.Equals(value)) {&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_value = value ?? &amp;quot;&amp;quot;;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;}&lt;/p&gt;
&lt;p&gt; &amp;nbsp;}&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
</description></item></channel></rss>