<?xml version="1.0" encoding="UTF-8"?>
<GoodreadsResponse>
	<Request>
		<authentication>false</authentication>
		    <method><![CDATA[]]></method>
	</Request>
	
<book id="89199">
  <title><![CDATA[Pragmatic Unit Testing in Java with JUnit]]></title>
  <isbn><![CDATA[0974514012]]></isbn>
  <isbn13><![CDATA[9780974514017]]></isbn13>
    <image_url>http://photo.goodreads.com/books/1171150405m/89199.jpg</image_url>
    <work>
  <best_book_id type="integer">89199</best_book_id>
  <books_count type="integer">1</books_count>
  <default_description>Learn how to improve your Java coding skills using unit testing.  Despite it's name, unit testing is really a coding technique, not a testing technique.  Unit testing is done by programmers, for programmers. It's primarily for our benefit: we get improved confidence in our code, better ability to make deadlines, less time spent in the debugger, and less time beating on the code to make it work correctly.    This book shows how to write tests, but more importantly, it goes where other books fear to tread and gives you concrete advice and examples of what to test--the common things that go wrong in all of our programs.  Discover the tricky hiding places where bugs breed, and how to catch them using the freely available JUnit framework.  It's easy to learn how to think of all the things in your code that are likely to break. We'll show you how with helpful mnemonics, summarized in a handy tip sheet (also available from our www.pragmaticprogrammer.com website) to help you remember all this stuff.     With this book you will:&lt;ul&gt;	  &lt;li&gt;Write better code, and take less time to write it&lt;/li&gt;  &lt;li&gt;Discover the tricky places where bugs breed&lt;/li&gt;  &lt;li&gt;Learn how to think of all the things that could go wrong&lt;/li&gt;  &lt;li&gt;Test individual pieces of code without having to include the whole project&lt;/li&gt;  &lt;li&gt;Test effectively with the whole team&lt;/li&gt;&lt;/ul&gt;  We'll also cover how to use Mock Objects for testing, how to write high quality test code, and how to use unit testing to improve your design skills.  We'll show you frequent &quot;gotchas&quot;--along with the fixes--to save you time when problems come up. We'll show you how with helpful mnemonics, summarized in a handy tip sheet (also available from our www.pragmaticprogrammer.com  website).    But the best part is that you don't need a sweeping mandate to change your whole team or your whole company.  You don't need to adopt Extreme Programming or Test-Driven Development, or change your development process in order to reap the proven benefits of unit testing.  You can start unit testing, the pragmatic way, right away.</default_description>
  <id type="integer">86091</id>
  <media_type>book</media_type>
  <original_language_id type="integer" nil="true"></original_language_id>
  <original_publication_day type="integer" nil="true"></original_publication_day>
  <original_publication_month type="integer">9</original_publication_month>
  <original_publication_year type="integer">2003</original_publication_year>
  <original_title>Pragmatic Unit Testing in Java with JUnit</original_title>
  <rating_dist>total:17|4:8|3:5|2:4|</rating_dist>
  <ratings_count type="integer">17</ratings_count>
  <ratings_sum type="integer">55</ratings_sum>
  <reviews_count type="integer">38</reviews_count>
  <text_reviews_count type="integer">1</text_reviews_count>
</work>

  <average_rating><![CDATA[3.24]]></average_rating>
  <ratings_count><![CDATA[17]]></ratings_count>
  <text_reviews_count><![CDATA[1]]></text_reviews_count>
  <url><![CDATA[http://www.goodreads.com/book/show/89199.Pragmatic_Unit_Testing_in_Java_with_JUnit]]></url>
  <authors>
        <author id="3107092">
      <name><![CDATA[David  Thomas]]></name>
      <role><![CDATA[]]></role>
      <url><![CDATA[http://www.goodreads.com/author/show/3107092.David_Thomas]]></url>
      <average_rating><![CDATA[4.33]]></average_rating>
      <ratings_count><![CDATA[412]]></ratings_count>
      <text_reviews_count><![CDATA[60]]></text_reviews_count>
    </author>
        <author id="2812">
      <name><![CDATA[Andrew Hunt]]></name>
      <role><![CDATA[]]></role>
      <url><![CDATA[http://www.goodreads.com/author/show/2812.Andrew_Hunt]]></url>
      <average_rating><![CDATA[4.28]]></average_rating>
      <ratings_count><![CDATA[432]]></ratings_count>
      <text_reviews_count><![CDATA[62]]></text_reviews_count>
    </author>
      </authors>
    <reviews start="1" end="20" total="38">
    <review id="50608293">
    <user id="2167111">
    <name><![CDATA[Jonathan]]></name>
    <location><![CDATA[Dublin, OH]]></location>        
    <url><![CDATA[http://www.goodreads.com/user/show/2167111-jonathan]]></url>
  </user>
      <rating>3</rating>
  <votes>0</votes>
  <sell_flag>false</sell_flag>
  <spoiler_flag>false</spoiler_flag>
  <shelves>
        <shelf name="2007" />
      </shelves>
  <recommended_for><![CDATA[]]></recommended_for>
  <recommended_by><![CDATA[]]></recommended_by>
  <read_at>Fri Jan 05 00:00:00 -0800 2007</read_at>
  <date_added>Fri Mar 27 08:39:34 -0700 2009</date_added>
  <date_updated>Fri Mar 27 08:39:34 -0700 2009</date_updated>
  <read_count></read_count>
    <body><![CDATA[This book is another great book from the pragmatic programmers to help people get started with unit tests using junit.  If you are already familiar with junit and writing unit tests, then there are a few tidbits of good information.  This book is definitly more for beginners.]]></body>
    <url><![CDATA[http://www.goodreads.com/review/show/50608293]]></url>
</review>
    <review id="78641219">
    <user id="2268395">
    <name><![CDATA[Lars]]></name>
    <location><![CDATA[Stockholm, 26, Sweden]]></location>        
    <url><![CDATA[http://www.goodreads.com/user/show/2268395-lars-westergren]]></url>
  </user>
      <rating>0</rating>
  <votes>0</votes>
  <sell_flag>false</sell_flag>
  <spoiler_flag>false</spoiler_flag>
  <shelves>
      </shelves>
  <recommended_for><![CDATA[]]></recommended_for>
  <recommended_by><![CDATA[]]></recommended_by>
  <read_at></read_at>
  <date_added>Sun Nov 22 11:28:53 -0800 2009</date_added>
  <date_updated>Sun Nov 22 11:28:53 -0800 2009</date_updated>
  <read_count></read_count>
    <body><![CDATA[]]></body>
    <url><![CDATA[http://www.goodreads.com/review/show/78641219]]></url>
</review>
    <review id="74901474">
    <user id="2851530">
    <name><![CDATA[Vijay]]></name>
    <location><![CDATA[Hyderabad, 02, India]]></location>        
    <url><![CDATA[http://www.goodreads.com/user/show/2851530-vijay-kotari]]></url>
  </user>
      <rating>0</rating>
  <votes>0</votes>
  <sell_flag>false</sell_flag>
  <spoiler_flag>false</spoiler_flag>
  <shelves>
      </shelves>
  <recommended_for><![CDATA[]]></recommended_for>
  <recommended_by><![CDATA[]]></recommended_by>
  <read_at>Thu Oct 22 05:59:16 -0700 2009</read_at>
  <date_added>Sun Oct 18 05:23:45 -0700 2009</date_added>
  <date_updated>Thu Oct 22 05:59:16 -0700 2009</date_updated>
  <read_count></read_count>
    <body><![CDATA[]]></body>
    <url><![CDATA[http://www.goodreads.com/review/show/74901474]]></url>
</review>
    <review id="73628782">
    <user id="2811162">
    <name><![CDATA[Nick]]></name>
    <location><![CDATA[Fishertown, PA]]></location>        
    <url><![CDATA[http://www.goodreads.com/user/show/2811162-nick]]></url>
  </user>
      <rating>0</rating>
  <votes>0</votes>
  <sell_flag>false</sell_flag>
  <spoiler_flag>false</spoiler_flag>
  <shelves>
        <shelf name="currently-reading" />
      </shelves>
  <recommended_for><![CDATA[]]></recommended_for>
  <recommended_by><![CDATA[]]></recommended_by>
  <read_at></read_at>
  <date_added>Tue Oct 06 09:20:49 -0700 2009</date_added>
  <date_updated>Tue Oct 06 09:21:16 -0700 2009</date_updated>
  <read_count></read_count>
    <body><![CDATA[]]></body>
    <url><![CDATA[http://www.goodreads.com/review/show/73628782]]></url>
</review>
    <review id="71514108">
    <user id="2255900">
    <name><![CDATA[Rob]]></name>
    <location><![CDATA[Folsom, CA]]></location>        
    <url><![CDATA[http://www.goodreads.com/user/show/2255900-rob]]></url>
  </user>
      <rating>2</rating>
  <votes>0</votes>
  <sell_flag>false</sell_flag>
  <spoiler_flag>false</spoiler_flag>
  <shelves>
      </shelves>
  <recommended_for><![CDATA[]]></recommended_for>
  <recommended_by><![CDATA[]]></recommended_by>
  <read_at></read_at>
  <date_added>Wed Sep 16 23:38:08 -0700 2009</date_added>
  <date_updated>Wed Sep 16 23:38:08 -0700 2009</date_updated>
  <read_count></read_count>
    <body><![CDATA[]]></body>
    <url><![CDATA[http://www.goodreads.com/review/show/71514108]]></url>
</review>
    <review id="69741777">
    <user id="1887332">
    <name><![CDATA[Andrew]]></name>
    <location><![CDATA[Wayne, PA]]></location>        
    <url><![CDATA[http://www.goodreads.com/user/show/1887332-andrew]]></url>
  </user>
      <rating>0</rating>
  <votes>0</votes>
  <sell_flag>false</sell_flag>
  <spoiler_flag>false</spoiler_flag>
  <shelves>
      </shelves>
  <recommended_for><![CDATA[]]></recommended_for>
  <recommended_by><![CDATA[]]></recommended_by>
  <read_at></read_at>
  <date_added>Tue Sep 01 17:25:50 -0700 2009</date_added>
  <date_updated>Tue Sep 01 17:25:50 -0700 2009</date_updated>
  <read_count></read_count>
    <body><![CDATA[]]></body>
    <url><![CDATA[http://www.goodreads.com/review/show/69741777]]></url>
</review>
    <review id="62155919">
    <user id="1833342">
    <name><![CDATA[Lino]]></name>
    <location><![CDATA[Fortaleza, Brazil]]></location>        
    <url><![CDATA[http://www.goodreads.com/user/show/1833342-lino]]></url>
  </user>
      <rating>4</rating>
  <votes>0</votes>
  <sell_flag>false</sell_flag>
  <spoiler_flag>false</spoiler_flag>
  <shelves>
        <shelf name="it" />
      </shelves>
  <recommended_for><![CDATA[]]></recommended_for>
  <recommended_by><![CDATA[]]></recommended_by>
  <read_at>Wed Jul 01 00:00:00 -0700 2009</read_at>
  <date_added>Sat Jul 04 16:54:10 -0700 2009</date_added>
  <date_updated>Sat Jul 04 16:55:04 -0700 2009</date_updated>
  <read_count></read_count>
    <body><![CDATA[]]></body>
    <url><![CDATA[http://www.goodreads.com/review/show/62155919]]></url>
</review>
    <review id="58987279">
    <user id="2399255">
    <name><![CDATA[Chris]]></name>
    <location><![CDATA[Calgary, AB, Canada]]></location>        
    <url><![CDATA[http://www.goodreads.com/user/show/2399255-chris-maguire]]></url>
  </user>
      <rating>4</rating>
  <votes>0</votes>
  <sell_flag>false</sell_flag>
  <spoiler_flag>false</spoiler_flag>
  <shelves>
      </shelves>
  <recommended_for><![CDATA[]]></recommended_for>
  <recommended_by><![CDATA[]]></recommended_by>
  <read_at></read_at>
  <date_added>Tue Jun 09 08:08:02 -0700 2009</date_added>
  <date_updated>Tue Jun 09 08:08:02 -0700 2009</date_updated>
  <read_count></read_count>
    <body><![CDATA[]]></body>
    <url><![CDATA[http://www.goodreads.com/review/show/58987279]]></url>
</review>
    <review id="58900504">
    <user id="1121158">
    <name><![CDATA[Will]]></name>
    <location><![CDATA[San Francisco, CA]]></location>        
    <url><![CDATA[http://www.goodreads.com/user/show/1121158-will]]></url>
  </user>
      <rating>3</rating>
  <votes>0</votes>
  <sell_flag>false</sell_flag>
  <spoiler_flag>false</spoiler_flag>
  <shelves>
      </shelves>
  <recommended_for><![CDATA[]]></recommended_for>
  <recommended_by><![CDATA[]]></recommended_by>
  <read_at></read_at>
  <date_added>Mon Jun 08 14:29:20 -0700 2009</date_added>
  <date_updated>Mon Jun 08 14:29:20 -0700 2009</date_updated>
  <read_count></read_count>
    <body><![CDATA[]]></body>
    <url><![CDATA[http://www.goodreads.com/review/show/58900504]]></url>
</review>
    <review id="54869207">
    <user id="2283661">
    <name><![CDATA[Dieter]]></name>
    <location><![CDATA[Brussels, 11, Belgium]]></location>        
    <url><![CDATA[http://www.goodreads.com/user/show/2283661-dieter-d-haeyere]]></url>
  </user>
      <rating>3</rating>
  <votes>0</votes>
  <sell_flag>false</sell_flag>
  <spoiler_flag>false</spoiler_flag>
  <shelves>
      </shelves>
  <recommended_for><![CDATA[]]></recommended_for>
  <recommended_by><![CDATA[]]></recommended_by>
  <read_at></read_at>
  <date_added>Mon May 04 03:07:24 -0700 2009</date_added>
  <date_updated>Mon May 04 03:07:24 -0700 2009</date_updated>
  <read_count></read_count>
    <body><![CDATA[]]></body>
    <url><![CDATA[http://www.goodreads.com/review/show/54869207]]></url>
</review>
    <review id="53592786">
    <user id="760917">
    <name><![CDATA[Eugene]]></name>
    <location><![CDATA[Ukraine]]></location>        
    <url><![CDATA[http://www.goodreads.com/user/show/760917-eugene]]></url>
  </user>
      <rating>0</rating>
  <votes>0</votes>
  <sell_flag>false</sell_flag>
  <spoiler_flag>false</spoiler_flag>
  <shelves>
      </shelves>
  <recommended_for><![CDATA[]]></recommended_for>
  <recommended_by><![CDATA[]]></recommended_by>
  <read_at></read_at>
  <date_added>Wed Apr 22 09:18:53 -0700 2009</date_added>
  <date_updated>Wed Apr 22 09:18:53 -0700 2009</date_updated>
  <read_count></read_count>
    <body><![CDATA[]]></body>
    <url><![CDATA[http://www.goodreads.com/review/show/53592786]]></url>
</review>
    <review id="50715793">
    <user id="2169853">
    <name><![CDATA[Andy]]></name>
    <location><![CDATA[The United States]]></location>        
    <url><![CDATA[http://www.goodreads.com/user/show/2169853-andy-atkinson]]></url>
  </user>
      <rating>0</rating>
  <votes>0</votes>
  <sell_flag>false</sell_flag>
  <spoiler_flag>false</spoiler_flag>
  <shelves>
        <shelf name="technical" />
      </shelves>
  <recommended_for><![CDATA[]]></recommended_for>
  <recommended_by><![CDATA[]]></recommended_by>
  <read_at></read_at>
  <date_added>Sat Mar 28 10:34:01 -0700 2009</date_added>
  <date_updated>Sat Mar 28 10:34:07 -0700 2009</date_updated>
  <read_count></read_count>
    <body><![CDATA[]]></body>
    <url><![CDATA[http://www.goodreads.com/review/show/50715793]]></url>
</review>
    <review id="48082282">
    <user id="1304246">
    <name><![CDATA[Robert]]></name>
    <location><![CDATA[Spanish Fork, UT]]></location>        
    <url><![CDATA[http://www.goodreads.com/user/show/1304246-robert]]></url>
  </user>
      <rating>4</rating>
  <votes>0</votes>
  <sell_flag>false</sell_flag>
  <spoiler_flag>false</spoiler_flag>
  <shelves>
        <shelf name="computers" />
      </shelves>
  <recommended_for><![CDATA[]]></recommended_for>
  <recommended_by><![CDATA[]]></recommended_by>
  <read_at></read_at>
  <date_added>Mon Mar 02 22:46:28 -0800 2009</date_added>
  <date_updated>Mon Mar 02 22:46:28 -0800 2009</date_updated>
  <read_count></read_count>
    <body><![CDATA[]]></body>
    <url><![CDATA[http://www.goodreads.com/review/show/48082282]]></url>
</review>
    <review id="45632570">
    <user id="1833292">
    <name><![CDATA[Ricardo]]></name>
    <location><![CDATA[Portugal]]></location>        
    <url><![CDATA[http://www.goodreads.com/user/show/1833292-ricardo]]></url>
  </user>
      <rating>0</rating>
  <votes>0</votes>
  <sell_flag>false</sell_flag>
  <spoiler_flag>false</spoiler_flag>
  <shelves>
        <shelf name="to-read" />
      </shelves>
  <recommended_for><![CDATA[]]></recommended_for>
  <recommended_by><![CDATA[]]></recommended_by>
  <read_at></read_at>
  <date_added>Sat Feb 07 03:21:31 -0800 2009</date_added>
  <date_updated>Thu Feb 19 05:43:08 -0800 2009</date_updated>
  <read_count></read_count>
    <body><![CDATA[]]></body>
    <url><![CDATA[http://www.goodreads.com/review/show/45632570]]></url>
</review>
    <review id="43486135">
    <user id="1924620">
    <name><![CDATA[Jungho]]></name>
    <location><![CDATA[Toronto, ON, Canada]]></location>        
    <url><![CDATA[http://www.goodreads.com/user/show/1924620-jungho]]></url>
  </user>
      <rating>4</rating>
  <votes>0</votes>
  <sell_flag>false</sell_flag>
  <spoiler_flag>false</spoiler_flag>
  <shelves>
        <shelf name="java-jee" />
      </shelves>
  <recommended_for><![CDATA[]]></recommended_for>
  <recommended_by><![CDATA[]]></recommended_by>
  <read_at></read_at>
  <date_added>Sun Jan 18 13:22:12 -0800 2009</date_added>
  <date_updated>Sun Jan 18 13:22:12 -0800 2009</date_updated>
  <read_count></read_count>
    <body><![CDATA[]]></body>
    <url><![CDATA[http://www.goodreads.com/review/show/43486135]]></url>
</review>
    <review id="42988949">
    <user id="1904569">
    <name><![CDATA[Wwtyler]]></name>
    <location><![CDATA[hangzhou, 30, China]]></location>        
    <url><![CDATA[http://www.goodreads.com/user/show/1904569-wwtyler]]></url>
  </user>
      <rating>0</rating>
  <votes>0</votes>
  <sell_flag>false</sell_flag>
  <spoiler_flag>false</spoiler_flag>
  <shelves>
        <shelf name="currently-reading" />
      </shelves>
  <recommended_for><![CDATA[]]></recommended_for>
  <recommended_by><![CDATA[]]></recommended_by>
  <read_at></read_at>
  <date_added>Tue Jan 13 22:22:59 -0800 2009</date_added>
  <date_updated>Tue Jan 13 22:23:05 -0800 2009</date_updated>
  <read_count></read_count>
    <body><![CDATA[]]></body>
    <url><![CDATA[http://www.goodreads.com/review/show/42988949]]></url>
</review>
    <review id="39988275">
    <user id="1799056">
    <name><![CDATA[Chris]]></name>
    <location><![CDATA[Green Bay, WI]]></location>        
    <url><![CDATA[http://www.goodreads.com/user/show/1799056-chris]]></url>
  </user>
      <rating>0</rating>
  <votes>0</votes>
  <sell_flag>false</sell_flag>
  <spoiler_flag>false</spoiler_flag>
  <shelves>
        <shelf name="to-read" />
      </shelves>
  <recommended_for><![CDATA[]]></recommended_for>
  <recommended_by><![CDATA[]]></recommended_by>
  <read_at></read_at>
  <date_added>Fri Dec 12 20:01:13 -0800 2008</date_added>
  <date_updated>Fri Dec 12 20:30:28 -0800 2008</date_updated>
  <read_count></read_count>
    <body><![CDATA[]]></body>
    <url><![CDATA[http://www.goodreads.com/review/show/39988275]]></url>
</review>
    <review id="37558471">
    <user id="1710685">
    <name><![CDATA[David]]></name>
    <location><![CDATA[Melbourne, Australia]]></location>        
    <url><![CDATA[http://www.goodreads.com/user/show/1710685-david]]></url>
  </user>
      <rating>0</rating>
  <votes>0</votes>
  <sell_flag>false</sell_flag>
  <spoiler_flag>false</spoiler_flag>
  <shelves>
      </shelves>
  <recommended_for><![CDATA[]]></recommended_for>
  <recommended_by><![CDATA[]]></recommended_by>
  <read_at></read_at>
  <date_added>Wed Nov 12 16:23:27 -0800 2008</date_added>
  <date_updated>Wed Nov 12 16:23:27 -0800 2008</date_updated>
  <read_count></read_count>
    <body><![CDATA[]]></body>
    <url><![CDATA[http://www.goodreads.com/review/show/37558471]]></url>
</review>
    <review id="36946176">
    <user id="1684733">
    <name><![CDATA[Steve]]></name>
    <location><![CDATA[East Haven, CT]]></location>        
    <url><![CDATA[http://www.goodreads.com/user/show/1684733-steve]]></url>
  </user>
      <rating>4</rating>
  <votes>0</votes>
  <sell_flag>false</sell_flag>
  <spoiler_flag>false</spoiler_flag>
  <shelves>
      </shelves>
  <recommended_for><![CDATA[]]></recommended_for>
  <recommended_by><![CDATA[]]></recommended_by>
  <read_at></read_at>
  <date_added>Wed Nov 05 01:42:20 -0800 2008</date_added>
  <date_updated>Wed Nov 05 01:42:20 -0800 2008</date_updated>
  <read_count></read_count>
    <body><![CDATA[]]></body>
    <url><![CDATA[http://www.goodreads.com/review/show/36946176]]></url>
</review>
    <review id="36573890">
    <user id="1671343">
    <name><![CDATA[Rasmus]]></name>
    <location><![CDATA[Sweden]]></location>        
    <url><![CDATA[http://www.goodreads.com/user/show/1671343-rasmus]]></url>
  </user>
      <rating>2</rating>
  <votes>0</votes>
  <sell_flag>false</sell_flag>
  <spoiler_flag>false</spoiler_flag>
  <shelves>
        <shelf name="software-development" />
      </shelves>
  <recommended_for><![CDATA[]]></recommended_for>
  <recommended_by><![CDATA[]]></recommended_by>
  <read_at>Tue Jan 01 00:00:00 -0800 2008</read_at>
  <date_added>Thu Oct 30 14:01:36 -0700 2008</date_added>
  <date_updated>Sun Nov 02 08:15:10 -0800 2008</date_updated>
  <read_count></read_count>
    <body><![CDATA[]]></body>
    <url><![CDATA[http://www.goodreads.com/review/show/36573890]]></url>
</review>
    </reviews>
  <popular_shelves>
        <shelf name="currently-reading" />
        <shelf name="to-read" />
        <shelf name="it" />
        <shelf name="technical" />
        <shelf name="computers" />
        <shelf name="java-jee" />
        <shelf name="software-development" />
        <shelf name="skim-reading" />
      </popular_shelves>
  <book_links>
    <book_link id="8">
  <name><![CDATA[WorldCat]]></name>
  <link>http://www.goodreads.com/book_link/follow/8?book_id=89199</link>
</book_link>
  </book_links>
</book>
</GoodreadsResponse>