<?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: TDD: Testing with generic abstract classes</title>
	<atom:link href="http://www.markhneedham.com/blog/2009/09/18/tdd-testing-with-generic-abstract-classes/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.markhneedham.com/blog/2009/09/18/tdd-testing-with-generic-abstract-classes/</link>
	<description>Thoughts on Software Development</description>
	<lastBuildDate>Sat, 11 Feb 2012 23:17:00 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: J. B. Rainsberger</title>
		<link>http://www.markhneedham.com/blog/2009/09/18/tdd-testing-with-generic-abstract-classes/comment-page-1/#comment-23486</link>
		<dc:creator>J. B. Rainsberger</dc:creator>
		<pubDate>Tue, 06 Oct 2009 22:31:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.markhneedham.com/blog/?p=1650#comment-23486</guid>
		<description>This looks like contract tests to me. As long as you&#039;re using these abstract tests to verify common behavior and not to reuse test helpers, that makes me happy indeed. Rock on!</description>
		<content:encoded><![CDATA[<p>This looks like contract tests to me. As long as you&#8217;re using these abstract tests to verify common behavior and not to reuse test helpers, that makes me happy indeed. Rock on!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sai Venkat</title>
		<link>http://www.markhneedham.com/blog/2009/09/18/tdd-testing-with-generic-abstract-classes/comment-page-1/#comment-22771</link>
		<dc:creator>Sai Venkat</dc:creator>
		<pubDate>Sat, 19 Sep 2009 19:32:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.markhneedham.com/blog/?p=1650#comment-22771</guid>
		<description>Nice post. Think this is a good case for contract tests. You can have tests which should test the common behaviour in the contract test which you can mix with each of subclass test. Was thinking about it when I was reading your previous post but I thought I was too much influenced by JB&#039;s talk at that time and so was driven to suggest it as a solution. Happy to know that I was indeed on the right track...  :)</description>
		<content:encoded><![CDATA[<p>Nice post. Think this is a good case for contract tests. You can have tests which should test the common behaviour in the contract test which you can mix with each of subclass test. Was thinking about it when I was reading your previous post but I thought I was too much influenced by JB&#8217;s talk at that time and so was driven to suggest it as a solution. Happy to know that I was indeed on the right track&#8230;  <img src='http://www.markhneedham.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Danilo Sato</title>
		<link>http://www.markhneedham.com/blog/2009/09/18/tdd-testing-with-generic-abstract-classes/comment-page-1/#comment-22725</link>
		<dc:creator>Danilo Sato</dc:creator>
		<pubDate>Fri, 18 Sep 2009 15:02:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.markhneedham.com/blog/?p=1650#comment-22725</guid>
		<description>By creating the abstract test it&#039;s not that you are duplicating the same structure of the production code (although you end up with that, it&#039;s not the end goal). The idea is to write tests that define the shared behaviour between all the subclasses. It&#039;s a way to guarantee that the Liskov Substitution Principle will be followed by subclasses. It works for interfaces just as well (or mixins, if you&#039;re in Ruby). You don&#039;t want to re-test the behaviour everywhere (poor test-code duplication, although readable on a test-level), but you want to guarantee that the subclass behaves as expected. I think this would be a good post about when it&#039;s good and bad to have duplication on test code :D</description>
		<content:encoded><![CDATA[<p>By creating the abstract test it&#8217;s not that you are duplicating the same structure of the production code (although you end up with that, it&#8217;s not the end goal). The idea is to write tests that define the shared behaviour between all the subclasses. It&#8217;s a way to guarantee that the Liskov Substitution Principle will be followed by subclasses. It works for interfaces just as well (or mixins, if you&#8217;re in Ruby). You don&#8217;t want to re-test the behaviour everywhere (poor test-code duplication, although readable on a test-level), but you want to guarantee that the subclass behaves as expected. I think this would be a good post about when it&#8217;s good and bad to have duplication on test code <img src='http://www.markhneedham.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: DotNetShoutout</title>
		<link>http://www.markhneedham.com/blog/2009/09/18/tdd-testing-with-generic-abstract-classes/comment-page-1/#comment-22723</link>
		<dc:creator>DotNetShoutout</dc:creator>
		<pubDate>Fri, 18 Sep 2009 14:03:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.markhneedham.com/blog/?p=1650#comment-22723</guid>
		<description>&lt;strong&gt;TDD: Testing with generic abstract classes - Mark Needham...&lt;/strong&gt;

Thank you for submitting this cool story - Trackback from DotNetShoutout...</description>
		<content:encoded><![CDATA[<p><strong>TDD: Testing with generic abstract classes &#8211; Mark Needham&#8230;</strong></p>
<p>Thank you for submitting this cool story &#8211; Trackback from DotNetShoutout&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Reflective Perspective - Chris Alcock &#187; The Morning Brew #436</title>
		<link>http://www.markhneedham.com/blog/2009/09/18/tdd-testing-with-generic-abstract-classes/comment-page-1/#comment-22712</link>
		<dc:creator>Reflective Perspective - Chris Alcock &#187; The Morning Brew #436</dc:creator>
		<pubDate>Fri, 18 Sep 2009 07:37:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.markhneedham.com/blog/?p=1650#comment-22712</guid>
		<description>[...] TDD: Testing with generic abstract classes - Mark Needham takes a look at using abstract classes to provide the basis for testing similar structures in the model. [...]</description>
		<content:encoded><![CDATA[<p>[...] TDD: Testing with generic abstract classes &#8211; Mark Needham takes a look at using abstract classes to provide the basis for testing similar structures in the model. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Needham</title>
		<link>http://www.markhneedham.com/blog/2009/09/18/tdd-testing-with-generic-abstract-classes/comment-page-1/#comment-22694</link>
		<dc:creator>Mark Needham</dc:creator>
		<pubDate>Thu, 17 Sep 2009 21:04:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.markhneedham.com/blog/?p=1650#comment-22694</guid>
		<description>@Danilo - Yeah I watched some of that presentation - really liked it - but I need to watch it again cause I don&#039;t think I quite got all the ideas he was promoting! 

I don&#039;t think I quite have the mindset of test code as being the same as production code. I try to write my test code to be readable to the next person who comes across it but I don&#039;t yet refactor that code with the same regularity as I would if I came across messy production code. 

I&#039;m working on that! :-D</description>
		<content:encoded><![CDATA[<p>@Danilo &#8211; Yeah I watched some of that presentation &#8211; really liked it &#8211; but I need to watch it again cause I don&#8217;t think I quite got all the ideas he was promoting! </p>
<p>I don&#8217;t think I quite have the mindset of test code as being the same as production code. I try to write my test code to be readable to the next person who comes across it but I don&#8217;t yet refactor that code with the same regularity as I would if I came across messy production code. </p>
<p>I&#8217;m working on that! <img src='http://www.markhneedham.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tweets that mention TDD: Testing with generic abstract classes at Mark Needham -- Topsy.com</title>
		<link>http://www.markhneedham.com/blog/2009/09/18/tdd-testing-with-generic-abstract-classes/comment-page-1/#comment-22680</link>
		<dc:creator>Tweets that mention TDD: Testing with generic abstract classes at Mark Needham -- Topsy.com</dc:creator>
		<pubDate>Thu, 17 Sep 2009 16:09:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.markhneedham.com/blog/?p=1650#comment-22680</guid>
		<description>[...] This post was mentioned on Twitter by planettw. planettw said: Mark Needham: TDD: Testing with generic abstract classes: In a post I wrote earlier in the week I described a di.. http://bit.ly/13hkM5 [...]</description>
		<content:encoded><![CDATA[<p>[...] This post was mentioned on Twitter by planettw. planettw said: Mark Needham: TDD: Testing with generic abstract classes: In a post I wrote earlier in the week I described a di.. <a href="http://bit.ly/13hkM5" rel="nofollow">http://bit.ly/13hkM5</a> [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Danilo Sato</title>
		<link>http://www.markhneedham.com/blog/2009/09/18/tdd-testing-with-generic-abstract-classes/comment-page-1/#comment-22678</link>
		<dc:creator>Danilo Sato</dc:creator>
		<pubDate>Thu, 17 Sep 2009 15:44:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.markhneedham.com/blog/?p=1650#comment-22678</guid>
		<description>The idea of an abstract test class is also explored by @jbrains on his presentation &quot;Integration Tests are a Scam&quot;, although for a different purpose. But it&#039;s interesting to see more discussions about good test design. We tend to forget that test code is code too :)</description>
		<content:encoded><![CDATA[<p>The idea of an abstract test class is also explored by @jbrains on his presentation &#8220;Integration Tests are a Scam&#8221;, although for a different purpose. But it&#8217;s interesting to see more discussions about good test design. We tend to forget that test code is code too <img src='http://www.markhneedham.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
</channel>
</rss>

