<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-8942599.post4151195168890476344..comments</id><updated>2009-07-23T01:48:50.561-04:00</updated><title type='text'>Comments on the urban canuk, eh: TDD Tips: Test Naming Conventions &amp; Guidelines</title><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.bryancook.net/feeds/4151195168890476344/comments/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8942599/4151195168890476344/comments/default'/><link rel='alternate' type='text/html' href='http://www.bryancook.net/2008/06/test-naming-conventions-guidelines.html'/><author><name>bryan</name><uri>http://www.blogger.com/profile/01332614158223702009</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>8</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8942599.post-7033916102163779143</id><published>2009-07-23T01:48:50.561-04:00</published><updated>2009-07-23T01:48:50.561-04:00</updated><title type='text'>Thanks for pointing that out cliff.  I wish my blo...</title><content type='html'>Thanks for pointing that out cliff.  I wish my blog writer had intellisense.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8942599/4151195168890476344/comments/default/7033916102163779143'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8942599/4151195168890476344/comments/default/7033916102163779143'/><link rel='alternate' type='text/html' href='http://www.bryancook.net/2008/06/test-naming-conventions-guidelines.html?showComment=1248328130561#c7033916102163779143' title=''/><author><name>bryan</name><uri>http://www.blogger.com/profile/01332614158223702009</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09074999001888279291'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.bryancook.net/2008/06/test-naming-conventions-guidelines.html' ref='tag:blogger.com,1999:blog-8942599.post-4151195168890476344' source='http://www.blogger.com/feeds/8942599/posts/default/4151195168890476344' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-8942599.post-2151665507818755145</id><published>2009-07-22T14:54:20.202-04:00</published><updated>2009-07-22T14:54:20.202-04:00</updated><title type='text'>you need to update your list of points above.  You...</title><content type='html'>you need to update your list of points above.  You should refer to &amp;quot;TestFixtureSetup/TestFixtureTearDown&amp;quot; instead of &amp;quot;SetupFixture/TearDownFixture&amp;quot;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8942599/4151195168890476344/comments/default/2151665507818755145'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8942599/4151195168890476344/comments/default/2151665507818755145'/><link rel='alternate' type='text/html' href='http://www.bryancook.net/2008/06/test-naming-conventions-guidelines.html?showComment=1248288860202#c2151665507818755145' title=''/><author><name>cliff</name><uri>http://www.blogger.com/profile/06347858174940448370</uri><email>noreply@blogger.com</email></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.bryancook.net/2008/06/test-naming-conventions-guidelines.html' ref='tag:blogger.com,1999:blog-8942599.post-4151195168890476344' source='http://www.blogger.com/feeds/8942599/posts/default/4151195168890476344' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-8942599.post-2634558061322058559</id><published>2008-06-15T14:38:00.000-04:00</published><updated>2008-06-15T14:38:00.000-04:00</updated><title type='text'>That's an interesting question Afzi: TDD does impa...</title><content type='html'>That's an interesting question Afzi: TDD does impact the way we write code, but expressing it as do-n-don't would fall under a different category than those listed here.  I'll chew on that, maybe post something in the future.&lt;BR/&gt;&lt;BR/&gt;Generally speaking, I think TDD discourages "blackbox" code, where code is organized to do anything and everything without sharing any details of how it will perform those tasks.  TDD in contrast, the focus is on writing testable code, so you end up with open-ended, cohesive sets of specialized objects.  Each set of objects can be tested independently of each other and can also be substituted with test versions to assist in testing larger related components.  TDD and &lt;A HREF="http://martinfowler.com/articles/injection.html" REL="nofollow"&gt;Inversion of Control / Dependency Injection&lt;/A&gt; go very well together.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8942599/4151195168890476344/comments/default/2634558061322058559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8942599/4151195168890476344/comments/default/2634558061322058559'/><link rel='alternate' type='text/html' href='http://www.bryancook.net/2008/06/test-naming-conventions-guidelines.html?showComment=1213555080000#c2634558061322058559' title=''/><author><name>bryan</name><uri>http://www.blogger.com/profile/01332614158223702009</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09074999001888279291'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.bryancook.net/2008/06/test-naming-conventions-guidelines.html' ref='tag:blogger.com,1999:blog-8942599.post-4151195168890476344' source='http://www.blogger.com/feeds/8942599/posts/default/4151195168890476344' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-8942599.post-3452310461271997430</id><published>2008-06-06T15:36:00.000-04:00</published><updated>2008-06-06T15:36:00.000-04:00</updated><title type='text'>How does TDD influence the way we write objects? C...</title><content type='html'>How does TDD influence the way we write objects? Could you give some insight on this as well please?</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8942599/4151195168890476344/comments/default/3452310461271997430'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8942599/4151195168890476344/comments/default/3452310461271997430'/><link rel='alternate' type='text/html' href='http://www.bryancook.net/2008/06/test-naming-conventions-guidelines.html?showComment=1212780960000#c3452310461271997430' title=''/><author><name>Afzi</name><uri>http://www.blogger.com/profile/02635028742904098813</uri><email>noreply@blogger.com</email></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.bryancook.net/2008/06/test-naming-conventions-guidelines.html' ref='tag:blogger.com,1999:blog-8942599.post-4151195168890476344' source='http://www.blogger.com/feeds/8942599/posts/default/4151195168890476344' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-8942599.post-8500611501966019776</id><published>2008-06-06T08:31:00.000-04:00</published><updated>2008-06-06T08:31:00.000-04:00</updated><title type='text'>&gt;&gt; replace that AVOID with a recommendation to pic...</title><content type='html'>&gt;&gt; replace that AVOID with a recommendation to &lt;B&gt;pick a consistent style that is easily understood and flexible to change&lt;/B&gt;.&lt;BR/&gt;&lt;BR/&gt;Now that is something I can get on board with. :)</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8942599/4151195168890476344/comments/default/8500611501966019776'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8942599/4151195168890476344/comments/default/8500611501966019776'/><link rel='alternate' type='text/html' href='http://www.bryancook.net/2008/06/test-naming-conventions-guidelines.html?showComment=1212755460000#c8500611501966019776' title=''/><author><name>Steven Harman</name><uri>http://stevenharman.myopenid.com/</uri><email>noreply@blogger.com</email></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.bryancook.net/2008/06/test-naming-conventions-guidelines.html' ref='tag:blogger.com,1999:blog-8942599.post-4151195168890476344' source='http://www.blogger.com/feeds/8942599/posts/default/4151195168890476344' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-8942599.post-2395693605055833264</id><published>2008-06-05T09:55:00.000-04:00</published><updated>2008-06-05T09:55:00.000-04:00</updated><title type='text'>Steve, I probably could have elaborated better on ...</title><content type='html'>Steve, I probably could have elaborated better on the underscore recommendation.  I'll admit the motivator of not having to hold down the shift key is poor.&lt;BR/&gt;&lt;BR/&gt;My motivation is that your tests are different than your API for your production code in that Test names have a tendency to change over their lifetime.  As a personal preference, I find methods with underscores clunky and I rely on tools to create them for me (creating event handlers, etc) rather than type them by hand.&lt;BR/&gt;&lt;BR/&gt;Honestly, any style will do (compared to not writing tests) and if you have tools that work well with that style, then you might enforce that style as a recommendation within your organization.&lt;BR/&gt;&lt;BR/&gt;I should probably amend the list, and replace that AVOID with a recommendation to pick a consistent style that is easily understood and flexible to change.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8942599/4151195168890476344/comments/default/2395693605055833264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8942599/4151195168890476344/comments/default/2395693605055833264'/><link rel='alternate' type='text/html' href='http://www.bryancook.net/2008/06/test-naming-conventions-guidelines.html?showComment=1212674100000#c2395693605055833264' title=''/><author><name>bryan</name><uri>http://www.blogger.com/profile/01332614158223702009</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09074999001888279291'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.bryancook.net/2008/06/test-naming-conventions-guidelines.html' ref='tag:blogger.com,1999:blog-8942599.post-4151195168890476344' source='http://www.blogger.com/feeds/8942599/posts/default/4151195168890476344' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-8942599.post-8918920405817461284</id><published>2008-06-05T09:30:00.000-04:00</published><updated>2008-06-05T09:30:00.000-04:00</updated><title type='text'>w/r/t: "AVOID: Using underscores as word-separator...</title><content type='html'>w/r/t: "AVOID: Using underscores as word-separators"&lt;BR/&gt;&lt;BR/&gt;Saving time by not having to hit the Shift key is so &lt;B&gt;not&lt;/B&gt; a reasonable argument against using a naming-style that increases solubility as much names_with_underscores_does. Especially if you use something like AutoHotKey (http://www.jpboodhoo.com/blog/BDDAutoHotKeyScriptUpdateTake2.aspx) to replace a space with an underscore for you! :)&lt;BR/&gt;&lt;BR/&gt;I'm not saying that PascalCasing is bad or that it should be avoided, I'm only saying that using underscores is equally viable... and IMO, a more readable style. I find this especially true when used with some of the newer BDD frameworks that can generate HTML reports from your Test/Spec names.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8942599/4151195168890476344/comments/default/8918920405817461284'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8942599/4151195168890476344/comments/default/8918920405817461284'/><link rel='alternate' type='text/html' href='http://www.bryancook.net/2008/06/test-naming-conventions-guidelines.html?showComment=1212672600000#c8918920405817461284' title=''/><author><name>Steven Harman</name><uri>http://stevenharman.myopenid.com/</uri><email>noreply@blogger.com</email></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.bryancook.net/2008/06/test-naming-conventions-guidelines.html' ref='tag:blogger.com,1999:blog-8942599.post-4151195168890476344' source='http://www.blogger.com/feeds/8942599/posts/default/4151195168890476344' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-8942599.post-8783234332430840340</id><published>2008-06-05T08:58:00.000-04:00</published><updated>2008-06-05T08:58:00.000-04:00</updated><title type='text'>This is actually really good. It's a great startin...</title><content type='html'>This is actually really good. It's a great starting point when establishing the unit test standards and your organization.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8942599/4151195168890476344/comments/default/8783234332430840340'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8942599/4151195168890476344/comments/default/8783234332430840340'/><link rel='alternate' type='text/html' href='http://www.bryancook.net/2008/06/test-naming-conventions-guidelines.html?showComment=1212670680000#c8783234332430840340' title=''/><author><name>SuperJason</name><uri>http://www.blogger.com/profile/13544562404044466305</uri><email>noreply@blogger.com</email></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.bryancook.net/2008/06/test-naming-conventions-guidelines.html' ref='tag:blogger.com,1999:blog-8942599.post-4151195168890476344' source='http://www.blogger.com/feeds/8942599/posts/default/4151195168890476344' type='text/html'/></entry></feed>