<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Object Mentor Blog: TDD for AspectJ Aspects</title>
    <link>http://blog.objectmentor.com/articles/2007/10/02/tdd-for-aspectj-aspects</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description></description>
    <item>
      <title>TDD for AspectJ Aspects</title>
      <description>&lt;p&gt;There was a query on the &lt;span class="caps"&gt;TDD&lt;/span&gt; mailing list about how to test drive aspects. Here is an edited version of my reply to that list.&lt;/p&gt;


	&lt;p&gt;Just as for regular classes, &lt;span class="caps"&gt;TDD&lt;/span&gt; can drive aspects to a better design.&lt;/p&gt;


	&lt;p&gt;Assume that I&amp;#8217;m testing a logging aspect that logs when certain methods are called. Here&amp;#8217;s the JUnit 4 test:&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;package logging;
import static org.junit.Assert.*;
import org.junit.Test;
import app.TestApp;

public class LoggerTest {
    @Test
    public void FakeLoggerShouldBeCalledForAllMethodsOnTestClasses() {
        String message = "hello!";
        new TestApp().doFirst(message);
        assertTrue(FakeLogger.messageReceived().contains(message));
        String message2 = "World!";
        new TestApp().doSecond(message, message2);
        assertTrue(FakeLogger.messageReceived().contains(message));
    }
}
&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Already, you might guess that &lt;code&gt;FakeLogger&lt;/code&gt; will be a test-only version of something, in this case, my logging aspect. Similarly, &lt;code&gt;TestApp&lt;/code&gt; is a simple class that I&amp;#8217;m using only for testing. You might choose to use one or more production classes, though.&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;package app;
@Watchable
public class TestApp {
    public void doFirst(String message) {}
    public void doSecond(String message1, String message2) {}
}
&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;and &lt;code&gt;@Watchable&lt;/code&gt; is a marker annotation that allows me to define pointcuts in my logger aspect without fragile coupling to concrete names, etc. You could also use an interface.&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;package app;
public @interface Watchable {}
&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;I made up &lt;code&gt;@Watchable&lt;/code&gt; as a way of marking classes where the public methods might be of &amp;#8220;interest&amp;#8221; to particular observers of some kind. It&amp;#8217;s analogous to the &lt;span class="caps"&gt;EJB 3&lt;/span&gt; annotations that mark classes as &amp;#8220;persistable&amp;#8221; without implying too many details of what that might mean.&lt;/p&gt;


	&lt;p&gt;Now, the actual logging is divided into an abstract base aspect and a test-only concrete &lt;a href="&lt;/p"&gt;sub-aspect&lt;/a&gt;&amp;gt;


&lt;pre&gt;&lt;code&gt;package logging;

import org.aspectj.lang.JoinPoint;
import app.Watchable;

abstract public aspect AbstractLogger {
    // Limit the scope to the packages and types you care about.
    public abstract pointcut scope();

    // Define how messages are actually logged.
    public abstract void logMessage(String message);

    // Notice the coupling is to the @Watchable abstraction.
    pointcut watch(Object object):
        scope() &amp;#38;&amp;#38; call(* (@Watchable *).*(..)) &amp;#38;&amp;#38; target(object);

    before(Object watchable): watch(watchable) {
        logMessage(makeLogMessage(thisJoinPoint));
    }

    public static String makeLogMessage(JoinPoint joinPoint) {
        StringBuffer buff = new StringBuffer();
        buff.append(joinPoint.toString()).append(", args = ");
        for (Object arg: joinPoint.getArgs())
            buff.append(arg.toString()).append(", ");
        return buff.toString();
    }
}
&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;and&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;package logging;

public aspect FakeLogger extends AbstractLogger {
    // Only match on calls from the unit tests.
    public pointcut scope(): within(logging.*Test);

    public void logMessage(String message) {
        lastMessage = message; 
    }

    static String lastMessage = null;
    public static String messageReceived() {
        return lastMessage;
    }
}
&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;&lt;a href="http://en.wikipedia.org/wiki/Pointcut"&gt;Pointcuts&lt;/a&gt; in aspects are like most other dependencies, best avoided ;) ... or at least minimized and based on abstractions, just like associations and inheritance relationships.&lt;/p&gt;


	&lt;p&gt;So, my test &amp;#8220;pressure&amp;#8221; drove the design in terms of where I needed abstraction in the Logger aspect: (i) how a message is actually logged and (ii) what classes get &amp;#8220;advised&amp;#8221; with logging behavior.&lt;/p&gt;


	&lt;p&gt;Just as for &lt;span class="caps"&gt;TDD&lt;/span&gt; of regular classes, the design ends up with minimized dependencies and flexibility (abstraction) where it&amp;#8217;s most useful.&lt;/p&gt;


	&lt;p&gt;I can now implement the real, concrete logger, which will also be a sub-aspect of &lt;code&gt;AbstractLogger&lt;/code&gt;. It will define the &lt;code&gt;scope()&lt;/code&gt; pointcut to be a larger section of the system and it will send the message to the real logging subsystem.&lt;/p&gt;</description>
      <pubDate>Tue, 02 Oct 2007 11:34:24 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:dba855da-6d02-428b-a74b-3f90ff03cdd4</guid>
      <author>Dean Wampler</author>
      <link>http://blog.objectmentor.com/articles/2007/10/02/tdd-for-aspectj-aspects</link>
      <category>Dean's Deprecations</category>
      <category>Agile Methods</category>
      <category>Design Principles</category>
      <category>TDD</category>
      <category>aspects</category>
      <category>AspectJ</category>
    </item>
    <item>
      <title>"TDD for AspectJ Aspects" by alwadifa 2012</title>
      <description>&lt;p&gt;that&amp;#8217;s a very good article about java i helped me a lot&lt;/p&gt;</description>
      <pubDate>Sat, 05 Nov 2011 17:35:52 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:e8338127-9c90-474f-9bbc-57c040ffd265</guid>
      <link>http://blog.objectmentor.com/articles/2007/10/02/tdd-for-aspectj-aspects#comment-168756</link>
    </item>
    <item>
      <title>"TDD for AspectJ Aspects" by christian louboutin</title>
      <description>&lt;p&gt;Peep toe shoes used to be popular, now it regress popular again. Too heavy and dramatic square toe shoes may be nightmare for many people, but open a mouth in front, the effect will be greatly different. For women, it is a very good transition. It is very trendy, but unlike pointed toe shoe so eye-catching. In this year, a pair of delicate Christian Louboutin Peep Toe Pumps will be a good choice.&lt;/p&gt;


	&lt;p&gt;Christian Louboutin Madame Butterfly 150 Suede Pumps Red&lt;/p&gt;


	&lt;p&gt;Technical details of Christian Louboutin Madame Butterfly 150 Suede Pump Red:&lt;/p&gt;


	&lt;pre&gt;&lt;code&gt;Color: Red
Material: Suede
Peep toe
6(150mm) covered heel
1.5(35mm) covered platform&lt;/code&gt;&lt;/pre&gt;


	&lt;p&gt;Fashion, delicate, luxurious Christian louboutins shoes on sale, one of its series is Christian Louboutin Peep Toe Pumps, is urbanism collocation. This Christian louboutins shoes design makes people new and refreshing. Red soles shoes is personality, your charm will be wonderful performance.&lt;/p&gt;</description>
      <pubDate>Fri, 04 Nov 2011 22:08:58 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:c7677773-1cb9-44cb-9b5f-55b3164dfc70</guid>
      <link>http://blog.objectmentor.com/articles/2007/10/02/tdd-for-aspectj-aspects#comment-168454</link>
    </item>
    <item>
      <title>"TDD for AspectJ Aspects" by Tips For Bowling</title>
      <description>&lt;p&gt;Law in general is human reason, inasmuch as it governs all the inhabitants of the earth: the political and civil laws of each nation ought to be only the particular cases in which human reason is applied.&lt;/p&gt;</description>
      <pubDate>Thu, 20 Oct 2011 13:45:05 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:08bc643a-4605-4672-902c-15680b7363d8</guid>
      <link>http://blog.objectmentor.com/articles/2007/10/02/tdd-for-aspectj-aspects#comment-160255</link>
    </item>
    <item>
      <title>"TDD for AspectJ Aspects" by shanewatson404@gmail.com</title>
      <description>&lt;p&gt;I have really &lt;a href="http://jobdescriptionforlegalassistant.com/" rel="nofollow"&gt;Legal Assistant Job Description&lt;/a&gt; admired for the nice info is &lt;a href="http://directorofoperationsjobdescription.com/" rel="nofollow"&gt;Director of Operations Job Description&lt;/a&gt; visible in this blog that to amazing technology &lt;a href="http://jobdescriptionforaccounting.com/" rel="nofollow"&gt;Accounting Job Description&lt;/a&gt; is visible in this blog &lt;a href="http://jobdescriptionforgraphicdesigner.com/" rel="nofollow"&gt;Graphic Designer Job Description&lt;/a&gt; This is an interesting articles in this blog that to using the simple language in this blog&lt;/p&gt;</description>
      <pubDate>Sat, 01 Oct 2011 00:24:11 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:b7ddeea7-1e18-493f-92c8-c7aecbda5782</guid>
      <link>http://blog.objectmentor.com/articles/2007/10/02/tdd-for-aspectj-aspects#comment-148800</link>
    </item>
    <item>
      <title>"TDD for AspectJ Aspects" by cheap juicy couture tracksuits</title>
      <description>&lt;p&gt;Don&#8217;t stop blogging! It&#8217;s nice to read a sane commentary for once.&lt;/p&gt;</description>
      <pubDate>Sun, 04 Sep 2011 22:09:14 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:f59d65d8-eb3b-4950-813a-5f0a813db5e6</guid>
      <link>http://blog.objectmentor.com/articles/2007/10/02/tdd-for-aspectj-aspects#comment-136928</link>
    </item>
    <item>
      <title>"TDD for AspectJ Aspects" by beats by dre store</title>
      <description>&lt;p&gt;lovely or the latest design, you can find your favorite designer &lt;a href="http://www.drdrebeatsheadphones-australia.com" rel="nofollow"&gt;beats by dre sale&lt;/a&gt;
&lt;a href="http://www.drdrebeatsheadphones-australia.com" rel="nofollow"&gt;cheap beats by dre&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Tue, 23 Aug 2011 02:52:18 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:8a1ab799-aac8-4e04-afcc-5d3cbf8e404a</guid>
      <link>http://blog.objectmentor.com/articles/2007/10/02/tdd-for-aspectj-aspects#comment-131630</link>
    </item>
    <item>
      <title>"TDD for AspectJ Aspects" by Hancy</title>
      <description>&lt;p&gt;Hello Friend,Whichever style of Fashion Shoes you&amp;#8217;re looking for, classical, fashionable, lovely or the latest design, you can find your favorite designer shoes in &lt;a href="http://www.dunkpage.com" rel="nofollow"&gt;www.dunkpage.com&lt;/a&gt; ,several days ago I bought one pair of shoes from there,It&amp;#8217;s beautiful and very comfortable!&lt;/p&gt;</description>
      <pubDate>Wed, 08 Jun 2011 11:54:37 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:2ef12c68-0a35-4043-83dc-957b942d2f67</guid>
      <link>http://blog.objectmentor.com/articles/2007/10/02/tdd-for-aspectj-aspects#comment-109119</link>
    </item>
    <item>
      <title>"TDD for AspectJ Aspects" by beats by dr dre headphones</title>
      <description>&lt;p&gt;The article has been finished.&lt;/p&gt;</description>
      <pubDate>Sat, 04 Jun 2011 00:06:13 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:3cb364dc-1eb4-47cd-b65e-ed2868257dc2</guid>
      <link>http://blog.objectmentor.com/articles/2007/10/02/tdd-for-aspectj-aspects#comment-107906</link>
    </item>
    <item>
      <title>"TDD for AspectJ Aspects" by christian louboutin shoes on sale</title>
      <description>&lt;p&gt;These &lt;a href="http://www.blacklouboutinshoes.com/pumps-c-2.html" rel="nofollow"&gt;christian louboutin patent leather pumps&lt;/a&gt; are just the same as selling in the franchise store.Or even better.
Quite cheap &lt;a href="http://www.blacklouboutinshoes.com/platforms-c-3.html" rel="nofollow"&gt;christian louboutin leather platform pumps&lt;/a&gt;.I could say this is the best one I have ever ordered online.&lt;/p&gt;</description>
      <pubDate>Fri, 03 Jun 2011 08:42:44 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:32cd27ca-9224-4450-9822-a8d113f6a194</guid>
      <link>http://blog.objectmentor.com/articles/2007/10/02/tdd-for-aspectj-aspects#comment-107740</link>
    </item>
    <item>
      <title>"TDD for AspectJ Aspects" by handbags for sale</title>
      <description>&lt;p&gt;I wasn&amp;#8217;t able to donate, but I&amp;#8217;m glad you&amp;#8217;re doing better now! Also, your boys are adorable!!&lt;/p&gt;</description>
      <pubDate>Wed, 18 May 2011 23:14:12 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:59134783-e7f6-430f-b0d1-e9255b717156</guid>
      <link>http://blog.objectmentor.com/articles/2007/10/02/tdd-for-aspectj-aspects#comment-101524</link>
    </item>
    <item>
      <title>"TDD for AspectJ Aspects" by real estate advertising</title>
      <description>&lt;p&gt;great job.. wow&amp;#8230; the  best website.. i love it here.. i gain a lot of information.. thank you for this article.. i love it.&lt;/p&gt;</description>
      <pubDate>Sat, 14 May 2011 16:54:27 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:91be97ef-a58e-4593-88ab-c10efccec4ed</guid>
      <link>http://blog.objectmentor.com/articles/2007/10/02/tdd-for-aspectj-aspects#comment-99957</link>
    </item>
    <item>
      <title>"TDD for AspectJ Aspects" by okey oyunu oyna </title>
      <description>&lt;p&gt;ooo very good&lt;/p&gt;


	&lt;p&gt;internette g&#246;r&#252;nt&#252;l&#252; olarak &lt;a href="http://www.okeyoyunu-oyna.com" rel="nofollow"&gt;okey oyunu oyna&lt;/a&gt;, ger&#231;ek kisilerle tanis,
 turnuva heyecanini yasa.&lt;/p&gt;</description>
      <pubDate>Wed, 27 Apr 2011 11:28:16 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:06cbcbf6-1e4e-4c98-a1be-61293bc84f4b</guid>
      <link>http://blog.objectmentor.com/articles/2007/10/02/tdd-for-aspectj-aspects#comment-91797</link>
    </item>
    <item>
      <title>"TDD for AspectJ Aspects" by Cris</title>
      <description>&lt;p&gt;This is another informative post. I like it. Thanks. &amp;#8211; &lt;a href="http://www.kirkeyroofing.com/" rel="nofollow"&gt;roof venice&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Wed, 13 Apr 2011 00:25:17 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:2fc31a08-c578-49c4-af94-5512cb58c2b1</guid>
      <link>http://blog.objectmentor.com/articles/2007/10/02/tdd-for-aspectj-aspects#comment-83661</link>
    </item>
    <item>
      <title>"TDD for AspectJ Aspects" by Berg</title>
      <description>&lt;p&gt;there is a a clear difference between being gay and being a rapists or paedophile. For you to compare them is quite frankly laughable.&lt;/p&gt;</description>
      <pubDate>Wed, 23 Mar 2011 02:50:13 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:d31fa5ae-b9f3-4a49-88e6-c8d50f13731b</guid>
      <link>http://blog.objectmentor.com/articles/2007/10/02/tdd-for-aspectj-aspects#comment-74782</link>
    </item>
    <item>
      <title>"TDD for AspectJ Aspects" by cheap true religion los angeles</title>
      <description>&lt;p&gt;hni&lt;/p&gt;


	&lt;pre&gt;&lt;code&gt;The straight jeans trousers &lt;strong&gt;&lt;a href="http://www.cheaptruereligionjeans.cc" rel="nofollow"&gt;mens jeans on sale&lt;/a&gt;&lt;/strong&gt;folded up look, put the pants into the pant &lt;strong&gt;&lt;a href="http://www.cheaptruereligionjeans.cc" rel="nofollow"&gt;low price true religion jeans&lt;/a&gt;&lt;/strong&gt;for summer and fall,&lt;/code&gt;&lt;/pre&gt;</description>
      <pubDate>Thu, 10 Mar 2011 20:59:53 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:5a73edff-f430-4e43-85ac-7b9407bd6dfb</guid>
      <link>http://blog.objectmentor.com/articles/2007/10/02/tdd-for-aspectj-aspects#comment-71733</link>
    </item>
    <item>
      <title>"TDD for AspectJ Aspects" by iPad Video Converter for Mac</title>
      <description>&lt;p&gt;Our backup software can help you take a snapshot for your contacts and SMS. Your important personal information will be never lost.&lt;/p&gt;</description>
      <pubDate>Thu, 10 Mar 2011 05:46:08 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:f7f4f08b-e3a5-4c0d-b017-1e7331c1100b</guid>
      <link>http://blog.objectmentor.com/articles/2007/10/02/tdd-for-aspectj-aspects#comment-71622</link>
    </item>
    <item>
      <title>"TDD for AspectJ Aspects" by dswehfhh</title>
      <description>&lt;p&gt;We are the professional &lt;a href="http://www.china-clothing-manufacturer.com" rel="nofollow"&gt;clothes manufacturer&lt;/a&gt; and &lt;a href="http://www.china-clothing-manufacturer.com" rel="nofollow"&gt;clothes supplier&lt;/a&gt;, so we manufacture kinds of &lt;a href="http://www.china-clothing-manufacturer.com/" rel="nofollow"&gt;custom clothes manufacturer&lt;/a&gt;.  welcome you to come to our &lt;a href="http://www.china-clothing-manufacturer.com/" rel="nofollow"&gt;china clothes manufacturer&lt;/a&gt; and &lt;a href="http://www.china-clothing-manufacturer.com/" rel="nofollow"&gt;clothes factory&lt;/a&gt;.&lt;/p&gt;</description>
      <pubDate>Wed, 09 Mar 2011 13:42:07 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:dec3ec34-49ce-424f-9085-9d0048ff7a75</guid>
      <link>http://blog.objectmentor.com/articles/2007/10/02/tdd-for-aspectj-aspects#comment-71053</link>
    </item>
    <item>
      <title>"TDD for AspectJ Aspects" by Criminal Records</title>
      <description>&lt;p&gt;Now, the actual logging is divided into an abstract base aspect and a test-only concrete sub-aspect&lt;/p&gt;</description>
      <pubDate>Fri, 11 Feb 2011 12:32:16 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:02b53db0-b18a-4b77-869b-f6fa1fcfa8a9</guid>
      <link>http://blog.objectmentor.com/articles/2007/10/02/tdd-for-aspectj-aspects#comment-62028</link>
    </item>
    <item>
      <title>"TDD for AspectJ Aspects" by iPad to mac transfer</title>
      <description>&lt;p&gt;Thanks for shareing! I agree with you. The artical improve me so much! I will come here frequently. iPad to Mac Transfer lets you transfer music, movie, photo, ePub, PDF, Audiobook, Podcast and TV Show from iPad to Mac or iPad to iTunes.&lt;/p&gt;</description>
      <pubDate>Mon, 24 Jan 2011 02:28:47 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:4cff1d7d-f39c-4bbf-b6d3-7a79af5ecb8e</guid>
      <link>http://blog.objectmentor.com/articles/2007/10/02/tdd-for-aspectj-aspects#comment-58965</link>
    </item>
    <item>
      <title>"TDD for AspectJ Aspects" by Silicone Molding</title>
      <description>&lt;p&gt;Intertech Machinery Inc. provides the most precise &lt;a href="http://www.taiwanmoldmaker.com/service-plastic-injection-mold.html" rel="nofollow"&gt;Plastic Injection Mold&lt;/a&gt; and
&lt;a href="http://www.taiwanmoldmaker.com/service-rubber-molds.html" rel="nofollow"&gt;Rubber Molds&lt;/a&gt; from Taiwan.  With applying excellent unscrewing device in molds,  
Intertech is also very professional for making flip top &lt;a href="http://www.taiwanmoldmaker.com/service-cap-mold.html" rel="nofollow"&gt;Cap Molds&lt;/a&gt; in the world.&lt;/p&gt;</description>
      <pubDate>Wed, 29 Dec 2010 21:32:30 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:20269bb8-7e64-4426-8e7f-e730169d5b23</guid>
      <link>http://blog.objectmentor.com/articles/2007/10/02/tdd-for-aspectj-aspects#comment-53033</link>
    </item>
    <item>
      <title>"TDD for AspectJ Aspects" by http://www.blacktowhiteiphone4.com</title>
      <description>&lt;p&gt;&lt;a href="http://www.blacktowhiteiphone4.com" rel="nofollow"&gt;iphone 4 white&lt;/a&gt; and iphone 4 black, which one will be more suitable for yourself? Thinking of the black iphone 4 is too ordinary, iphone 4 white will be the one to make you feel different.&lt;/p&gt;</description>
      <pubDate>Thu, 23 Dec 2010 01:54:06 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:4ad11e2b-9f8e-464d-9a66-75e4ecdb2fbf</guid>
      <link>http://blog.objectmentor.com/articles/2007/10/02/tdd-for-aspectj-aspects#comment-51282</link>
    </item>
    <item>
      <title>"TDD for AspectJ Aspects" by pandora </title>
      <description>&lt;p&gt;Had a pleasant respond nearly accomplished, had been evidence reading this &amp;#38; received damaged through an ad pertaining to Shipwreck beads. Been age ranges since I checked out in the following &amp;#38; left because the large web site alterations lsat summer built taking part through dial-up Distressing. I discover the situation is a very similar. Sleepless &amp;#38; popped more than from the Etsy community forums which in turn did not seize me tonight&amp;#8230; Spend time hanging out on the community forums &amp;#38; perusing goods available for sale &amp;#38; recently marketed. There have been around 197,500 jewelry listings once i opened up our go shopping (NGHDesigns) in late August. There are over 300,000 today. I&amp;#8217;ve acquired a number of good results &amp;#38; take pleasure in taking part right now there, nevertheless are glad it&amp;#8217;s not how you preserve any top more than the heads. Some retailers do very well there, other folks in no way offer anything. Even one of the most amazing items are usually laid to rest inside heap in only units.&lt;/p&gt;</description>
      <pubDate>Mon, 13 Dec 2010 04:04:29 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:6c256442-97ab-421f-861f-70275098920f</guid>
      <link>http://blog.objectmentor.com/articles/2007/10/02/tdd-for-aspectj-aspects#comment-48678</link>
    </item>
    <item>
      <title>"TDD for AspectJ Aspects" by DRM removal software</title>
      <description>&lt;p&gt;You know, to be a good programmer is not so easy. it is not to understand it, however, you can finish it, enjoy much. want to Know more about this topic.&lt;/p&gt;</description>
      <pubDate>Mon, 06 Dec 2010 01:55:16 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:01ddca1d-b049-4412-83a1-d6c1f0ddf8da</guid>
      <link>http://blog.objectmentor.com/articles/2007/10/02/tdd-for-aspectj-aspects#comment-46493</link>
    </item>
    <item>
      <title>"TDD for AspectJ Aspects" by Pandora </title>
      <description>&lt;p&gt;However RSpec uses an alternative syntax that reads more like a specification than like a test. Let me show you what I mean.&lt;/p&gt;</description>
      <pubDate>Thu, 02 Dec 2010 03:03:52 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:226d27c7-0bf2-46d3-ae63-d8cd50113b39</guid>
      <link>http://blog.objectmentor.com/articles/2007/10/02/tdd-for-aspectj-aspects#comment-45366</link>
    </item>
    <item>
      <title>"TDD for AspectJ Aspects" by iPhone SMS transfer</title>
      <description>&lt;p&gt;So easy to backup iPhone SMS to computer.&lt;/p&gt;</description>
      <pubDate>Sat, 27 Nov 2010 04:43:40 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:4cc1f07e-4ce9-4890-ae36-d5bb4fecd924</guid>
      <link>http://blog.objectmentor.com/articles/2007/10/02/tdd-for-aspectj-aspects#comment-43507</link>
    </item>
  </channel>
</rss>

