<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: Quick Hack: Cutting RSpec test time&#8230;</title>
	<atom:link href="http://codehunk.wordpress.com/2008/09/05/quick-hack-cutting-rspec-test-time/feed/" rel="self" type="application/rss+xml" />
	<link>http://codehunk.wordpress.com/2008/09/05/quick-hack-cutting-rspec-test-time/</link>
	<description>the way i see it.......</description>
	<lastBuildDate>Mon, 18 Feb 2013 06:15:50 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: janmejay</title>
		<link>http://codehunk.wordpress.com/2008/09/05/quick-hack-cutting-rspec-test-time/#comment-201</link>
		<dc:creator><![CDATA[janmejay]]></dc:creator>
		<pubDate>Thu, 31 Mar 2011 01:11:10 +0000</pubDate>
		<guid isPermaLink="false">http://codehunk.wordpress.com/?p=58#comment-201</guid>
		<description><![CDATA[Posted the introduction to a tool named TLB, which can parallelize RSpec and Test::Unit suites across physical machines. The post is available at &lt;a href=&quot;http://codehunk.wordpress.com/2011/03/30/tlb-rocket-boosters-for-your-build/&quot; rel=&quot;nofollow&quot;&gt;http://codehunk.wordpress.com/2011/03/30/tlb-rocket-boosters-for-your-build/&lt;/a&gt;.]]></description>
		<content:encoded><![CDATA[<p>Posted the introduction to a tool named TLB, which can parallelize RSpec and Test::Unit suites across physical machines. The post is available at <a href="http://codehunk.wordpress.com/2011/03/30/tlb-rocket-boosters-for-your-build/" rel="nofollow">http://codehunk.wordpress.com/2011/03/30/tlb-rocket-boosters-for-your-build/</a>.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: satinder</title>
		<link>http://codehunk.wordpress.com/2008/09/05/quick-hack-cutting-rspec-test-time/#comment-26</link>
		<dc:creator><![CDATA[satinder]]></dc:creator>
		<pubDate>Fri, 12 Sep 2008 04:28:42 +0000</pubDate>
		<guid isPermaLink="false">http://codehunk.wordpress.com/?p=58#comment-26</guid>
		<description><![CDATA[good nice info.......

keep sharing such nice info&#039;s.....

all the best.]]></description>
		<content:encoded><![CDATA[<p>good nice info&#8230;&#8230;.</p>
<p>keep sharing such nice info&#8217;s&#8230;..</p>
<p>all the best.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Cutting RSpec Test Time: Continuous Integration ready rake task &#171; codehunk</title>
		<link>http://codehunk.wordpress.com/2008/09/05/quick-hack-cutting-rspec-test-time/#comment-20</link>
		<dc:creator><![CDATA[Cutting RSpec Test Time: Continuous Integration ready rake task &#171; codehunk]]></dc:creator>
		<pubDate>Wed, 10 Sep 2008 00:56:06 +0000</pubDate>
		<guid isPermaLink="false">http://codehunk.wordpress.com/?p=58#comment-20</guid>
		<description><![CDATA[[...] Cutting RSpec Test Time: Continuous Integration ready rake&#160;task Talking about RSpec test time once again&#8230;.. This post is the continuation of Quick Hack: Cutting RSpec test time… [...]]]></description>
		<content:encoded><![CDATA[<p>[...] Cutting RSpec Test Time: Continuous Integration ready rake&nbsp;task Talking about RSpec test time once again&#8230;.. This post is the continuation of Quick Hack: Cutting RSpec test time… [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: janmejay</title>
		<link>http://codehunk.wordpress.com/2008/09/05/quick-hack-cutting-rspec-test-time/#comment-19</link>
		<dc:creator><![CDATA[janmejay]]></dc:creator>
		<pubDate>Sun, 07 Sep 2008 15:50:28 +0000</pubDate>
		<guid isPermaLink="false">http://codehunk.wordpress.com/?p=58#comment-19</guid>
		<description><![CDATA[This has its tradeoff(s)....
Its a little worse when it comes to performance... fixtures will be faster than this... but it ensures less maintenance... and the best part is.... it keeps weird data setup bugs down to zero.... So i kind of like it...]]></description>
		<content:encoded><![CDATA[<p>This has its tradeoff(s)&#8230;.<br />
Its a little worse when it comes to performance&#8230; fixtures will be faster than this&#8230; but it ensures less maintenance&#8230; and the best part is&#8230;. it keeps weird data setup bugs down to zero&#8230;. So i kind of like it&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: janmejay</title>
		<link>http://codehunk.wordpress.com/2008/09/05/quick-hack-cutting-rspec-test-time/#comment-18</link>
		<dc:creator><![CDATA[janmejay]]></dc:creator>
		<pubDate>Sun, 07 Sep 2008 15:47:38 +0000</pubDate>
		<guid isPermaLink="false">http://codehunk.wordpress.com/?p=58#comment-18</guid>
		<description><![CDATA[There is a school of thought that says Fixtures are inherently evil....(i don&#039;t think so personally)... but thats where it stands.... People say fixtures are evil because it is capable of inserting bad data.... i have had some horrible experience with fixtures though.... Some tester had raised a bug that gave us a bad headache for some 10 days(since we could not reproduce it... and he could.... consistently) and eventually we realized that it was a data setup issue... and the data was coming from fixtures....

We use something close to ObjectMother/TestDataBuilder pattern..... We have defined maps with active record attributes as keys and valid value for them as values and have two methods create!(klass, attributes = {}) and new!(klass, attributes = {}). These methods accept an optional second argument which we merge into the valid params(which we get from a method derived from the class name, like send(&quot;#{klass.name}_params&quot;) that we already have defined... and then call either create! or new on the klass(Class) passed in with the new(modified/merged) map of attributes.

We use a rake task that calls these methods for various classes to create a valid bootstraping data set ... just like fixtures will do.... but we are trying to write fixtures... which essentially means... we r never dealing with relational data + we are always involving model validation, to ensure whatever development data we insert... is in valid state. This is what we use in place of fixtures....]]></description>
		<content:encoded><![CDATA[<p>There is a school of thought that says Fixtures are inherently evil&#8230;.(i don&#8217;t think so personally)&#8230; but thats where it stands&#8230;. People say fixtures are evil because it is capable of inserting bad data&#8230;. i have had some horrible experience with fixtures though&#8230;. Some tester had raised a bug that gave us a bad headache for some 10 days(since we could not reproduce it&#8230; and he could&#8230;. consistently) and eventually we realized that it was a data setup issue&#8230; and the data was coming from fixtures&#8230;.</p>
<p>We use something close to ObjectMother/TestDataBuilder pattern&#8230;.. We have defined maps with active record attributes as keys and valid value for them as values and have two methods create!(klass, attributes = {}) and new!(klass, attributes = {}). These methods accept an optional second argument which we merge into the valid params(which we get from a method derived from the class name, like send(&#8220;#{klass.name}_params&#8221;) that we already have defined&#8230; and then call either create! or new on the klass(Class) passed in with the new(modified/merged) map of attributes.</p>
<p>We use a rake task that calls these methods for various classes to create a valid bootstraping data set &#8230; just like fixtures will do&#8230;. but we are trying to write fixtures&#8230; which essentially means&#8230; we r never dealing with relational data + we are always involving model validation, to ensure whatever development data we insert&#8230; is in valid state. This is what we use in place of fixtures&#8230;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lalit K. Shandilya</title>
		<link>http://codehunk.wordpress.com/2008/09/05/quick-hack-cutting-rspec-test-time/#comment-17</link>
		<dc:creator><![CDATA[Lalit K. Shandilya]]></dc:creator>
		<pubDate>Sun, 07 Sep 2008 12:47:25 +0000</pubDate>
		<guid isPermaLink="false">http://codehunk.wordpress.com/?p=58#comment-17</guid>
		<description><![CDATA[Ya! in case of refactoring I am fully agree with you to use DB calls instead of mocks.

What are you using for fixtures standard fixtures or any other replacement?

Thanks janmejay...for sharing, I was considering to go with 100% mock :) though It would be interesting to know how people are managing these refactoring issues while using mocks everywhere.]]></description>
		<content:encoded><![CDATA[<p>Ya! in case of refactoring I am fully agree with you to use DB calls instead of mocks.</p>
<p>What are you using for fixtures standard fixtures or any other replacement?</p>
<p>Thanks janmejay&#8230;for sharing, I was considering to go with 100% mock <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  though It would be interesting to know how people are managing these refactoring issues while using mocks everywhere.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: sunarso</title>
		<link>http://codehunk.wordpress.com/2008/09/05/quick-hack-cutting-rspec-test-time/#comment-16</link>
		<dc:creator><![CDATA[sunarso]]></dc:creator>
		<pubDate>Sat, 06 Sep 2008 08:07:26 +0000</pubDate>
		<guid isPermaLink="false">http://codehunk.wordpress.com/?p=58#comment-16</guid>
		<description><![CDATA[wow , thanks for info]]></description>
		<content:encoded><![CDATA[<p>wow , thanks for info</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: janmejay</title>
		<link>http://codehunk.wordpress.com/2008/09/05/quick-hack-cutting-rspec-test-time/#comment-15</link>
		<dc:creator><![CDATA[janmejay]]></dc:creator>
		<pubDate>Fri, 05 Sep 2008 14:02:51 +0000</pubDate>
		<guid isPermaLink="false">http://codehunk.wordpress.com/?p=58#comment-15</guid>
		<description><![CDATA[Why not using mocks...
Well... we do use mocks.... but not for the DB backed entity....
This may not sound too convincing... but this was the reason for us to take a call... and move away from mocks...
In the last release of the same project..... We were using mocks everywhere except the model specs... When we refactored models..... we saw model specs breaking.... and the controller specs doing fine.... (When the project has more than 90% test coverage... you tend to be dependent on specs to act as a safety net for refactoring.....) 
In our case... the controller specs were using mocks.... so they never failed... and the application used to start failing... This was an uncomfortable scenario....
When things like this started happening more often... we decided to stop mocking for models.... unless some really time taking step/or talking to other things... (like sendmail) was involved.....]]></description>
		<content:encoded><![CDATA[<p>Why not using mocks&#8230;<br />
Well&#8230; we do use mocks&#8230;. but not for the DB backed entity&#8230;.<br />
This may not sound too convincing&#8230; but this was the reason for us to take a call&#8230; and move away from mocks&#8230;<br />
In the last release of the same project&#8230;.. We were using mocks everywhere except the model specs&#8230; When we refactored models&#8230;.. we saw model specs breaking&#8230;. and the controller specs doing fine&#8230;. (When the project has more than 90% test coverage&#8230; you tend to be dependent on specs to act as a safety net for refactoring&#8230;..)<br />
In our case&#8230; the controller specs were using mocks&#8230;. so they never failed&#8230; and the application used to start failing&#8230; This was an uncomfortable scenario&#8230;.<br />
When things like this started happening more often&#8230; we decided to stop mocking for models&#8230;. unless some really time taking step/or talking to other things&#8230; (like sendmail) was involved&#8230;..</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: janmejay</title>
		<link>http://codehunk.wordpress.com/2008/09/05/quick-hack-cutting-rspec-test-time/#comment-14</link>
		<dc:creator><![CDATA[janmejay]]></dc:creator>
		<pubDate>Fri, 05 Sep 2008 13:53:41 +0000</pubDate>
		<guid isPermaLink="false">http://codehunk.wordpress.com/?p=58#comment-14</guid>
		<description><![CDATA[Not using fixtures because a lot of people on my team think fixtures are evil....(i kind of understand why.....).... they think so because it can insert invalid data..... + its a maintenance nightmare.... 
The models evolve... they build new associations... which may be complicated has_many :through polymorphic associations and stuff.....
Then maintaining the fixtures becomes quite painful.... because you have to set the relational looking data correctly.... and you have to maintain it in a valid state.... I personally think its not too painful....(maintaining yml(s) or csv(s)) but my colleagues seem to hate it... :-)]]></description>
		<content:encoded><![CDATA[<p>Not using fixtures because a lot of people on my team think fixtures are evil&#8230;.(i kind of understand why&#8230;..)&#8230;. they think so because it can insert invalid data&#8230;.. + its a maintenance nightmare&#8230;.<br />
The models evolve&#8230; they build new associations&#8230; which may be complicated has_many :through polymorphic associations and stuff&#8230;..<br />
Then maintaining the fixtures becomes quite painful&#8230;. because you have to set the relational looking data correctly&#8230;. and you have to maintain it in a valid state&#8230;. I personally think its not too painful&#8230;.(maintaining yml(s) or csv(s)) but my colleagues seem to hate it&#8230; <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lalit K. Shandilya</title>
		<link>http://codehunk.wordpress.com/2008/09/05/quick-hack-cutting-rspec-test-time/#comment-13</link>
		<dc:creator><![CDATA[Lalit K. Shandilya]]></dc:creator>
		<pubDate>Fri, 05 Sep 2008 11:31:39 +0000</pubDate>
		<guid isPermaLink="false">http://codehunk.wordpress.com/?p=58#comment-13</guid>
		<description><![CDATA[Nice trick, when you are using fixtures with Rspec or it requires db connection.

Why are you not using mock instead of connecting to DB?

Thanks for the hack it&#039;s really nice.]]></description>
		<content:encoded><![CDATA[<p>Nice trick, when you are using fixtures with Rspec or it requires db connection.</p>
<p>Why are you not using mock instead of connecting to DB?</p>
<p>Thanks for the hack it&#8217;s really nice.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
