<?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: Unit Testing &#8211; Necessary, but Not Enough</title>
	<atom:link href="http://sidawson.com/2008/07/unit-testing-necessary-but-not-enough.html/feed" rel="self" type="application/rss+xml" />
	<link>http://sidawson.com/2008/07/unit-testing-necessary-but-not-enough.html</link>
	<description>Self Improving Software. Evolutionary Algorithms. Weak AI.</description>
	<lastBuildDate>Tue, 21 Apr 2009 18:54:08 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
	<item>
		<title>By: Si Dawson</title>
		<link>http://sidawson.com/2008/07/unit-testing-necessary-but-not-enough.html/comment-page-1#comment-15</link>
		<dc:creator>Si Dawson</dc:creator>
		<pubDate>Fri, 04 Jul 2008 18:23:21 +0000</pubDate>
		<guid isPermaLink="false">http://sidawson.com/?p=6#comment-15</guid>
		<description>a couple of my testing rigs depend on conditional compilation code which is internal - it&#039;s pretty much necessary to access all the internal variables. And the overall code is so complex that without that you&#039;d never know what was wrong.&lt;br&gt;&lt;br&gt;I suppose, thinking about it, you could just wrap all the header declarations with conditional statements - then change the compile flags every time you tested.&lt;br&gt;&lt;br&gt;You&#039;re right though, it&#039;s ugly &amp; impure.</description>
		<content:encoded><![CDATA[<p>a couple of my testing rigs depend on conditional compilation code which is internal &#8211; it&#39;s pretty much necessary to access all the internal variables. And the overall code is so complex that without that you&#39;d never know what was wrong.</p>
<p>I suppose, thinking about it, you could just wrap all the header declarations with conditional statements &#8211; then change the compile flags every time you tested.</p>
<p>You&#39;re right though, it&#39;s ugly &#038; impure.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Christine D.</title>
		<link>http://sidawson.com/2008/07/unit-testing-necessary-but-not-enough.html/comment-page-1#comment-14</link>
		<dc:creator>Christine D.</dc:creator>
		<pubDate>Fri, 04 Jul 2008 18:05:04 +0000</pubDate>
		<guid isPermaLink="false">http://sidawson.com/?p=6#comment-14</guid>
		<description>The accessibility thing bothers me,  too.  Someone needs to hack our respective languages and create a new accessibility modifier for &quot;public, but only for testing robots.  Otherwise private&quot;.&lt;br&gt;&lt;br&gt;(I suppose an alternative would be to have unit tests living in the same class as the code they are testing.  I dislike it in an architectural purity kind of way d: )</description>
		<content:encoded><![CDATA[<p>The accessibility thing bothers me,  too.  Someone needs to hack our respective languages and create a new accessibility modifier for &#8220;public, but only for testing robots.  Otherwise private&#8221;.</p>
<p>(I suppose an alternative would be to have unit tests living in the same class as the code they are testing.  I dislike it in an architectural purity kind of way d: )</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Si Dawson</title>
		<link>http://sidawson.com/2008/07/unit-testing-necessary-but-not-enough.html/comment-page-1#comment-13</link>
		<dc:creator>Si Dawson</dc:creator>
		<pubDate>Fri, 04 Jul 2008 06:56:18 +0000</pubDate>
		<guid isPermaLink="false">http://sidawson.com/?p=6#comment-13</guid>
		<description>Yep, I completely agree.&lt;br&gt;&lt;br&gt;I&#039;m definitely in the &quot;unit testing is a must&quot; camp now. I&#039;m just not sure they&#039;re &lt;b&gt;enough&lt;/b&gt;&lt;br&gt;&lt;br&gt;However, I am finding, even going back and writing tests afterwards, that it&#039;s making me double (and triple) check all of my logic. Plus, as you point out, tidying up everything at the bottom of the stack, and rethinking flow. It&#039;s kindof an enforced code review - which is always helpful.&lt;br&gt;&lt;br&gt;The only thing I dislike is the requirement to expose so much of the interface in order to test things thoroughly. There&#039;s a stack of private methods that are really only pertinent to the inside of any given module that shouldn&#039;t be exposed.. and yet have to be. But it&#039;s a minor gripe really - particularly considering how sloppy my architecture is generally :)</description>
		<content:encoded><![CDATA[<p>Yep, I completely agree.</p>
<p>I&#39;m definitely in the &#8220;unit testing is a must&#8221; camp now. I&#39;m just not sure they&#39;re <b>enough</b></p>
<p>However, I am finding, even going back and writing tests afterwards, that it&#39;s making me double (and triple) check all of my logic. Plus, as you point out, tidying up everything at the bottom of the stack, and rethinking flow. It&#39;s kindof an enforced code review &#8211; which is always helpful.</p>
<p>The only thing I dislike is the requirement to expose so much of the interface in order to test things thoroughly. There&#39;s a stack of private methods that are really only pertinent to the inside of any given module that shouldn&#39;t be exposed.. and yet have to be. But it&#39;s a minor gripe really &#8211; particularly considering how sloppy my architecture is generally <img src='http://sidawson.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Christine D.</title>
		<link>http://sidawson.com/2008/07/unit-testing-necessary-but-not-enough.html/comment-page-1#comment-12</link>
		<dc:creator>Christine D.</dc:creator>
		<pubDate>Fri, 04 Jul 2008 01:04:06 +0000</pubDate>
		<guid isPermaLink="false">http://sidawson.com/?p=6#comment-12</guid>
		<description>At the very least,  code that I write which is unit tested is written in a way which is much clearer than code that isn&#039;t - if I can&#039;t easily test something,  just about every time it&#039;s because there&#039;s a better way to organise things.&lt;br&gt;&lt;br&gt;(And, well, I like the happy green lights that unit testing tools inevitably show up when everything is working properly &lt;: )&lt;br&gt;&lt;br&gt;Unit tests, at least, can help you make sure that the little details at the bottom keep on doing what they&#039;re supposed to / unit tests which *could* be testing the wrong thing are probably trying to test too much.</description>
		<content:encoded><![CDATA[<p>At the very least,  code that I write which is unit tested is written in a way which is much clearer than code that isn&#39;t &#8211; if I can&#39;t easily test something,  just about every time it&#39;s because there&#39;s a better way to organise things.</p>
<p>(And, well, I like the happy green lights that unit testing tools inevitably show up when everything is working properly &lt;: )</p>
<p>Unit tests, at least, can help you make sure that the little details at the bottom keep on doing what they&#39;re supposed to / unit tests which *could* be testing the wrong thing are probably trying to test too much.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
