<?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: Grails Testing Tip (DO&#8217;s, DONT&#8217;s and DOH&#8217;s): The Clean Slate Principle</title>
	<atom:link href="http://alterlabs.com/technologies/java/grails-testing-tip-dos-donts-and-dohs-the-clean-slate-principle/feed/" rel="self" type="application/rss+xml" />
	<link>http://alterlabs.com/technologies/java/grails-testing-tip-dos-donts-and-dohs-the-clean-slate-principle/</link>
	<description>Results through imagination</description>
	<lastBuildDate>Mon, 15 Mar 2010 02:56:23 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: ALTERthought Blogs &#187; Grails Testing Tip (DO&#8217;s, DONT&#8217;s and DOH&#8217;s): Fixture Data vs. Dependent Data</title>
		<link>http://alterlabs.com/technologies/java/grails-testing-tip-dos-donts-and-dohs-the-clean-slate-principle/comment-page-1/#comment-19725</link>
		<dc:creator>ALTERthought Blogs &#187; Grails Testing Tip (DO&#8217;s, DONT&#8217;s and DOH&#8217;s): Fixture Data vs. Dependent Data</dc:creator>
		<pubDate>Fri, 05 Sep 2008 13:48:54 +0000</pubDate>
		<guid isPermaLink="false">http://alterlabs.com/technologies/java/grails-testing-tip-dos-donts-and-dohs-the-clean-slate-principle/#comment-19725</guid>
		<description>[...] Upon test case completion, any Fixture Data that was added to the system should be removed, leaving the database in a clean state (see The Clean Slate Principle), containing only Dependent Data. Data should be removed in one of the following ways: [...]</description>
		<content:encoded><![CDATA[<p>[...] Upon test case completion, any Fixture Data that was added to the system should be removed, leaving the database in a clean state (see The Clean Slate Principle), containing only Dependent Data. Data should be removed in one of the following ways: [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Edward</title>
		<link>http://alterlabs.com/technologies/java/grails-testing-tip-dos-donts-and-dohs-the-clean-slate-principle/comment-page-1/#comment-19419</link>
		<dc:creator>Edward</dc:creator>
		<pubDate>Tue, 26 Aug 2008 17:26:21 +0000</pubDate>
		<guid isPermaLink="false">http://alterlabs.com/technologies/java/grails-testing-tip-dos-donts-and-dohs-the-clean-slate-principle/#comment-19419</guid>
		<description>@Mike - cool, but typically database transactions can&#039;t roll back non-database updates such as external files, registry updates etc.

I still think it&#039;s best for test suites to prepare their own test beds rather than assuming (or hoping as I put it) that the environment is ready and waiting for them.

@don - so I jumped the gun?  :-)  I often do...</description>
		<content:encoded><![CDATA[<p>@Mike &#8211; cool, but typically database transactions can&#8217;t roll back non-database updates such as external files, registry updates etc.</p>
<p>I still think it&#8217;s best for test suites to prepare their own test beds rather than assuming (or hoping as I put it) that the environment is ready and waiting for them.</p>
<p>@don &#8211; so I jumped the gun?  :-)  I often do&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: don</title>
		<link>http://alterlabs.com/technologies/java/grails-testing-tip-dos-donts-and-dohs-the-clean-slate-principle/comment-page-1/#comment-19418</link>
		<dc:creator>don</dc:creator>
		<pubDate>Tue, 26 Aug 2008 17:24:35 +0000</pubDate>
		<guid isPermaLink="false">http://alterlabs.com/technologies/java/grails-testing-tip-dos-donts-and-dohs-the-clean-slate-principle/#comment-19418</guid>
		<description>@Mike - Yes this is the default case, however sometimes necessary to override this behavior for certain complicated scenarios (multiple datasources, etc) by setting boolean transactional = false in the test case.</description>
		<content:encoded><![CDATA[<p>@Mike &#8211; Yes this is the default case, however sometimes necessary to override this behavior for certain complicated scenarios (multiple datasources, etc) by setting boolean transactional = false in the test case.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mike</title>
		<link>http://alterlabs.com/technologies/java/grails-testing-tip-dos-donts-and-dohs-the-clean-slate-principle/comment-page-1/#comment-19417</link>
		<dc:creator>Mike</dc:creator>
		<pubDate>Tue, 26 Aug 2008 17:18:49 +0000</pubDate>
		<guid isPermaLink="false">http://alterlabs.com/technologies/java/grails-testing-tip-dos-donts-and-dohs-the-clean-slate-principle/#comment-19417</guid>
		<description>Actually - Grails test methods are wrapped in a transaction that rollsback when the test method completes - so your tests don&#039;t really have to be responsible for cleaning up any data that they insert/update</description>
		<content:encoded><![CDATA[<p>Actually &#8211; Grails test methods are wrapped in a transaction that rollsback when the test method completes &#8211; so your tests don&#8217;t really have to be responsible for cleaning up any data that they insert/update</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: don</title>
		<link>http://alterlabs.com/technologies/java/grails-testing-tip-dos-donts-and-dohs-the-clean-slate-principle/comment-page-1/#comment-19416</link>
		<dc:creator>don</dc:creator>
		<pubDate>Tue, 26 Aug 2008 17:09:23 +0000</pubDate>
		<guid isPermaLink="false">http://alterlabs.com/technologies/java/grails-testing-tip-dos-donts-and-dohs-the-clean-slate-principle/#comment-19416</guid>
		<description>@Edward-  Actually I have a couple of other posts in this series that talk about approaches for maintaining clean slate integrity between test runs (via setUp()/tearDown() methods, dbunit, and SQL scripts, etc...), but wanted to introduce the basic principle first as it is referenced in the subsequent posts. Thanks for the comment...</description>
		<content:encoded><![CDATA[<p>@Edward-  Actually I have a couple of other posts in this series that talk about approaches for maintaining clean slate integrity between test runs (via setUp()/tearDown() methods, dbunit, and SQL scripts, etc&#8230;), but wanted to introduce the basic principle first as it is referenced in the subsequent posts. Thanks for the comment&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Edward</title>
		<link>http://alterlabs.com/technologies/java/grails-testing-tip-dos-donts-and-dohs-the-clean-slate-principle/comment-page-1/#comment-19414</link>
		<dc:creator>Edward</dc:creator>
		<pubDate>Tue, 26 Aug 2008 17:04:26 +0000</pubDate>
		<guid isPermaLink="false">http://alterlabs.com/technologies/java/grails-testing-tip-dos-donts-and-dohs-the-clean-slate-principle/#comment-19414</guid>
		<description>Sure, tests should not trash the database, but this rule is perhaps a little optimistic?  (Relying on the hope that nothing upsets the database between the completion of a test and the start of another, possibly an indeterminate period of time)

Practically speaking, a test suite should have a set-up function which prepares data before tests run, plus a test can check for prerequisites.

Sounds like your test didn&#039;t check pre-requisites and had no associated set-up.  Living in hope?</description>
		<content:encoded><![CDATA[<p>Sure, tests should not trash the database, but this rule is perhaps a little optimistic?  (Relying on the hope that nothing upsets the database between the completion of a test and the start of another, possibly an indeterminate period of time)</p>
<p>Practically speaking, a test suite should have a set-up function which prepares data before tests run, plus a test can check for prerequisites.</p>
<p>Sounds like your test didn&#8217;t check pre-requisites and had no associated set-up.  Living in hope?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
