<?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: Factory tools for fixture replacement: a comparison</title>
	<atom:link href="http://pathfindersoftware.com/2009/05/factory-tools-for-fixture-replacement-a-comparison/feed/" rel="self" type="application/rss+xml" />
	<link>http://pathfindersoftware.com/2009/05/factory-tools-for-fixture-replacement-a-comparison/</link>
	<description>The Fastest Way to Launch Successful Software</description>
	<lastBuildDate>Thu, 19 Jan 2012 16:36:03 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Agile Ajax &#187; ChicagoRuby meeting &#8216;Test Prescriptions&#8217; recap &#187; Pathfinder Development</title>
		<link>http://pathfindersoftware.com/2009/05/factory-tools-for-fixture-replacement-a-comparison/#comment-9549</link>
		<dc:creator>Agile Ajax &#187; ChicagoRuby meeting &#8216;Test Prescriptions&#8217; recap &#187; Pathfinder Development</dc:creator>
		<pubDate>Wed, 24 Jun 2009 19:27:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=2506#comment-9549</guid>
		<description>[...] solid review of different factory tools that go beyond standard fixtures (Factory Girl, Fixture Replacement, Machinist, and Object [...]</description>
		<content:encoded><![CDATA[<p>[...] solid review of different factory tools that go beyond standard fixtures (Factory Girl, Fixture Replacement, Machinist, and Object [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dev Blog AF83 &#187; Blog Archive &#187; Veille technologique : Conditions d&#8217;utilisation, Lecture, HTML5, Mozilla, Vim, Git, Ruby, Rails, Javascript, Microframeworks, PHP, Python, Bases de données</title>
		<link>http://pathfindersoftware.com/2009/05/factory-tools-for-fixture-replacement-a-comparison/#comment-9548</link>
		<dc:creator>Dev Blog AF83 &#187; Blog Archive &#187; Veille technologique : Conditions d&#8217;utilisation, Lecture, HTML5, Mozilla, Vim, Git, Ruby, Rails, Javascript, Microframeworks, PHP, Python, Bases de données</dc:creator>
		<pubDate>Tue, 09 Jun 2009 12:09:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=2506#comment-9548</guid>
		<description>[...] http://www.pathf.com/blogs/2009/05/factory-tools-for-fixture-replacement-a-comparison/ : une comparaison des outils pour remplacer les fixtures dans Rails [...]</description>
		<content:encoded><![CDATA[<p>[...] <a href="http://www.pathf.com/blogs/2009/05/factory-tools-for-fixture-replacement-a-comparison/" rel="nofollow">http://www.pathf.com/blogs/2009/05/factory-tools-for-fixture-replacement-a-comparison/</a> : une comparaison des outils pour remplacer les fixtures dans Rails [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Myron Marston</title>
		<link>http://pathfindersoftware.com/2009/05/factory-tools-for-fixture-replacement-a-comparison/#comment-9547</link>
		<dc:creator>Myron Marston</dc:creator>
		<pubDate>Sun, 31 May 2009 01:42:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=2506#comment-9547</guid>
		<description>@Noel-

In principle, I agree with you: you get the most benefits of a factory tool by creating the test data as close to the test as possible.  And if your primary reason to switch to a factory tool from fixtures is to be abel to see the data creation right next to the test, so that you don&#039;t have to switch to another file to see the contents of a test object...then preloading a bunch of data using my gem (or a similar solution) would be a bad idea.

In my case, my primary reason for hating fixtures and moving to a different tool is because I want all my test data to be created through the models themselves, rather than just being inserted directly into the database.  This means my test data has passed validations, and any associated records created by before/after save callbacks will also exist.

The test suite on my current project is at 2500+ tests and counting.  I wish it was faster than it is.  My factory_data_preloader gem has been a big help in speeding it up, but it&#039;s still slower than I&#039;d like it (about 7-8 minutes total right now, I think).

I use mocks quite a bit too.  It&#039;s a technique I find myself using more and more.  Maybe we wouldn&#039;t have the speed issues if I had use mocking early on.</description>
		<content:encoded><![CDATA[<p>@Noel-</p>
<p>In principle, I agree with you: you get the most benefits of a factory tool by creating the test data as close to the test as possible.  And if your primary reason to switch to a factory tool from fixtures is to be abel to see the data creation right next to the test, so that you don&#8217;t have to switch to another file to see the contents of a test object&#8230;then preloading a bunch of data using my gem (or a similar solution) would be a bad idea.</p>
<p>In my case, my primary reason for hating fixtures and moving to a different tool is because I want all my test data to be created through the models themselves, rather than just being inserted directly into the database.  This means my test data has passed validations, and any associated records created by before/after save callbacks will also exist.</p>
<p>The test suite on my current project is at 2500+ tests and counting.  I wish it was faster than it is.  My factory_data_preloader gem has been a big help in speeding it up, but it&#8217;s still slower than I&#8217;d like it (about 7-8 minutes total right now, I think).</p>
<p>I use mocks quite a bit too.  It&#8217;s a technique I find myself using more and more.  Maybe we wouldn&#8217;t have the speed issues if I had use mocking early on.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Marcus Derencius</title>
		<link>http://pathfindersoftware.com/2009/05/factory-tools-for-fixture-replacement-a-comparison/#comment-9546</link>
		<dc:creator>Marcus Derencius</dc:creator>
		<pubDate>Sat, 30 May 2009 20:29:55 +0000</pubDate>
		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=2506#comment-9546</guid>
		<description>I do like machinist a lot, and use extensively in my projects. Factory girls supports that machinist syntax, but I didn&#039;t feel the need to change. machinist works pretty well.

@myron Usually a avoid creating unnecessary data, I just call &quot;make&quot; when that record will be used. some auxiliary data, I may also use make_unsaved, and it will not hit the database.</description>
		<content:encoded><![CDATA[<p>I do like machinist a lot, and use extensively in my projects. Factory girls supports that machinist syntax, but I didn&#8217;t feel the need to change. machinist works pretty well.</p>
<p>@myron Usually a avoid creating unnecessary data, I just call &#8220;make&#8221; when that record will be used. some auxiliary data, I may also use make_unsaved, and it will not hit the database.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ruby on Rails &#187; Comparing Ruby Mock Object Libraries &#187; Pathfinder Development</title>
		<link>http://pathfindersoftware.com/2009/05/factory-tools-for-fixture-replacement-a-comparison/#comment-9545</link>
		<dc:creator>Ruby on Rails &#187; Comparing Ruby Mock Object Libraries &#187; Pathfinder Development</dc:creator>
		<pubDate>Fri, 29 May 2009 18:24:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=2506#comment-9545</guid>
		<description>[...] on the theme of comparing similar things that I started last week, this week I&#039;ll be taking on Mock Object [...]</description>
		<content:encoded><![CDATA[<p>[...] on the theme of comparing similar things that I started last week, this week I&#8217;ll be taking on Mock Object [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Noel Rappin</title>
		<link>http://pathfindersoftware.com/2009/05/factory-tools-for-fixture-replacement-a-comparison/#comment-9544</link>
		<dc:creator>Noel Rappin</dc:creator>
		<pubDate>Thu, 28 May 2009 14:22:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=2506#comment-9544</guid>
		<description>@Myron -- I&#039;d argue that in general if you are creating common data that is being reloaded in multiple tests that you aren&#039;t using the factory tool optimally. (That&#039;s from my experience, but I&#039;ll also grant that&#039;s kind of a purist argument rather than a pragmatic one)

The advantages of a factory tool are best realized if you create the fewest number of objects you need to expose each test, and if you create them as close to the actual test as possible. Creating more objects slows the tests down a lot. Creating the data away from the test has the same problem as fixtures -- test values that seem magical because you can&#039;t see the data that caused them.

Mocks are another alternative for speeding up tests... More on that tomorrow.</description>
		<content:encoded><![CDATA[<p>@Myron &#8212; I&#8217;d argue that in general if you are creating common data that is being reloaded in multiple tests that you aren&#8217;t using the factory tool optimally. (That&#8217;s from my experience, but I&#8217;ll also grant that&#8217;s kind of a purist argument rather than a pragmatic one)</p>
<p>The advantages of a factory tool are best realized if you create the fewest number of objects you need to expose each test, and if you create them as close to the actual test as possible. Creating more objects slows the tests down a lot. Creating the data away from the test has the same problem as fixtures &#8212; test values that seem magical because you can&#8217;t see the data that caused them.</p>
<p>Mocks are another alternative for speeding up tests&#8230; More on that tomorrow.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Myron Marston</title>
		<link>http://pathfindersoftware.com/2009/05/factory-tools-for-fixture-replacement-a-comparison/#comment-9543</link>
		<dc:creator>Myron Marston</dc:creator>
		<pubDate>Thu, 28 May 2009 00:25:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=2506#comment-9543</guid>
		<description>I&#039;ve been using factory girl for a while and like it a lot.  However, the issue I keep finding with these tools is they tend to slow down your test suite.  Unsurprisingly, creating the data for each test directly within the test is slower than preloading fixture data and then just reusing it in each test.

I tried to address this (with some success) with a gem:

http://github.com/myronmarston/factory_data_preloader/tree/master

It should be compatible with any fixture replacement, though I&#039;ve only personally used it with factory girl.

How have others solved the speed issue?</description>
		<content:encoded><![CDATA[<p>I&#8217;ve been using factory girl for a while and like it a lot.  However, the issue I keep finding with these tools is they tend to slow down your test suite.  Unsurprisingly, creating the data for each test directly within the test is slower than preloading fixture data and then just reusing it in each test.</p>
<p>I tried to address this (with some success) with a gem:</p>
<p><a href="http://github.com/myronmarston/factory_data_preloader/tree/master" rel="nofollow">http://github.com/myronmarston/factory_data_preloader/tree/master</a></p>
<p>It should be compatible with any fixture replacement, though I&#8217;ve only personally used it with factory girl.</p>
<p>How have others solved the speed issue?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ennuyer.net &#187; Blog Archive &#187; 2009-05-25- Today’s Ruby/Rails Reading</title>
		<link>http://pathfindersoftware.com/2009/05/factory-tools-for-fixture-replacement-a-comparison/#comment-9542</link>
		<dc:creator>Ennuyer.net &#187; Blog Archive &#187; 2009-05-25- Today’s Ruby/Rails Reading</dc:creator>
		<pubDate>Mon, 25 May 2009 19:30:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=2506#comment-9542</guid>
		<description>[...]  Agile Ajax » Factory tools for fixture replacement: a comparison » Pathfinder Development  [...]</description>
		<content:encoded><![CDATA[<p>[...]  Agile Ajax » Factory tools for fixture replacement: a comparison » Pathfinder Development  [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jim Gay</title>
		<link>http://pathfindersoftware.com/2009/05/factory-tools-for-fixture-replacement-a-comparison/#comment-9541</link>
		<dc:creator>Jim Gay</dc:creator>
		<pubDate>Sun, 24 May 2009 01:49:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=2506#comment-9541</guid>
		<description>Dataset deserves a mention http://aiwilliams.github.com/dataset/</description>
		<content:encoded><![CDATA[<p>Dataset deserves a mention <a href="http://aiwilliams.github.com/dataset/" rel="nofollow">http://aiwilliams.github.com/dataset/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Adam Meehan</title>
		<link>http://pathfindersoftware.com/2009/05/factory-tools-for-fixture-replacement-a-comparison/#comment-9540</link>
		<dc:creator>Adam Meehan</dc:creator>
		<pubDate>Sat, 23 May 2009 02:00:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=2506#comment-9540</guid>
		<description>woops. should read *don&#039;t need*

Commenting from iPhone can be sloppy</description>
		<content:encoded><![CDATA[<p>woops. should read *don&#8217;t need*</p>
<p>Commenting from iPhone can be sloppy</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic (User agent is rejected)
Page Caching using memcached (User agent is rejected)

Served from: pathfindersoftware.com @ 2012-02-10 02:38:57 -->
