<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    <title>Thomas Koch - PHPUnit</title>
    <link>http://koch.ro/blog/</link>
    <description>Dubio Sapientiae Initium.</description>
    <dc:language>en</dc:language>
    <generator>Serendipity 1.4.1-1 - http://www.s9y.org/</generator>
    <pubDate>Thu, 01 Oct 2009 12:26:26 GMT</pubDate>

    <image>
        <url>http://koch.ro/blog/templates/default/img/s9y_banner_small.png</url>
        <title>RSS: Thomas Koch - PHPUnit - Dubio Sapientiae Initium.</title>
        <link>http://koch.ro/blog/</link>
        <width>100</width>
        <height>21</height>
    </image>

<item>
    <title>Timeline of PHP quality assurance tools</title>
    <link>http://koch.ro/blog/index.php?/archives/132-Timeline-of-PHP-quality-assurance-tools.html</link>
            <category>eZ Publish</category>
            <category>PHP</category>
            <category>PHPUnit</category>
    
    <comments>http://koch.ro/blog/index.php?/archives/132-Timeline-of-PHP-quality-assurance-tools.html#comments</comments>
    <wfw:comment>http://koch.ro/blog/wfwcomment.php?cid=132</wfw:comment>

    <wfw:commentRss>http://koch.ro/blog/rss.php?version=2.0&amp;type=comments&amp;cid=132</wfw:commentRss>
    

    <author>nospam@example.com (Thomas Koch)</author>
    <content:encoded>
    I&#039;ll be giving a talk on PHP quality assurance tools next week at the &lt;a href=&quot;http://gearconf.com/&quot;&gt;gearconf&lt;/a&gt; in Düsseldorf. The event is focused on team collaboration and most of the audience will come from other languages then PHP. Since I&#039;m not a contributor to any QA tool I&#039;ll center around the user perspective and the process of establishing these tools in a small to middle web company like &lt;a href=&quot;http://www.ymc.ch&quot;&gt;YMC&lt;/a&gt;.&lt;br /&gt;
As an outline for the first part I thought to give an historical view on QA in PHP and therefor made a timeline of PHP QA milestones: &lt;img width=&quot;80%&quot; height=&quot;80%&quot; style=&quot;border: 0px; padding-left: 5px; padding-right: 5px;&quot; src=&quot;http://koch.ro/blog/uploads/free_software/phpqa_timeline.png&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;
The dates as text:&lt;ul&gt;
  &lt;li&gt;~1997 JUnit&lt;/li&gt;
  &lt;li&gt;6.4.2002 PHPUnit 0.1&lt;/li&gt;
  &lt;li&gt;28.8.2003 PHPUnit 1.0.0-alpha1 Release&lt;/li&gt;
  &lt;li&gt;13.7.2004 PHP5.0.0&lt;/li&gt;
  &lt;li&gt;14.7.2004 release PHPUnit2&lt;/li&gt;
  &lt;li&gt;30.1.2006 eZ Components 1.0&lt;/li&gt;
  &lt;li&gt;~sept 2006 ZF uses PHPUnit (issue #374)&lt;/li&gt;
  &lt;li&gt;4.10.2006 first integration of Selenium in PHPUnit&lt;/li&gt;
  &lt;li&gt;1.7.2007 Zend Framework 1.0&lt;/li&gt;
  &lt;li&gt;18.11.2007 first release of PHPUnderControl&lt;/li&gt;
  &lt;li&gt;19.11.2007 Project Mess Detection in PHPUnit&lt;/li&gt;
  &lt;li&gt;6.2.2008 first release PHP_Depend&lt;/li&gt;
  &lt;li&gt;march 2009 qualityassuranceinphpprojects.com, thePHP.cc&lt;/li&gt;
&lt;/ul&gt;main sources:&lt;br /&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;http://www.slideshare.net/sebastian_bergmann/von-entwurfsmustern-und-unit-tests&quot;&gt;Von Entwurfsmustern und Unit Tests&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://sebastian-bergmann.de/&quot;&gt;Blog of Sebastian Bergmann&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://manuel-pichler.de/&quot;&gt;Blog of Manuel Pichler&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
Did I get all this right? Are there things I should have added? 
    </content:encoded>

    <pubDate>Sat, 26 Sep 2009 16:58:46 +0200</pubDate>
    <guid isPermaLink="false">http://koch.ro/blog/index.php?/archives/132-guid.html</guid>
    
</item>
<item>
    <title>PHPUnit Testrunner for Lazy folks</title>
    <link>http://koch.ro/blog/index.php?/archives/51-PHPUnit-Testrunner-for-Lazy-folks.html</link>
            <category>english</category>
            <category>PHP</category>
            <category>PHPUnit</category>
    
    <comments>http://koch.ro/blog/index.php?/archives/51-PHPUnit-Testrunner-for-Lazy-folks.html#comments</comments>
    <wfw:comment>http://koch.ro/blog/wfwcomment.php?cid=51</wfw:comment>

    <wfw:commentRss>http://koch.ro/blog/rss.php?version=2.0&amp;type=comments&amp;cid=51</wfw:commentRss>
    

    <author>nospam@example.com (Thomas Koch)</author>
    <content:encoded>
    My &lt;a href=&quot;http://www.phpunit.de&quot;&gt;PHPUnit&lt;/a&gt; Testrunner must meet the following requirements:&lt;br /&gt;
&lt;br /&gt;
- add Class Repositories to the eZ Components autoloader&lt;br /&gt;
- instantiate a Database connection&lt;br /&gt;
- make my living easier&lt;br /&gt;
&lt;br /&gt;
I took the &lt;a href=&quot;http://svn.ez.no/svn/ezcomponents/trunk/UnitTest/&quot;&gt;testrunner&lt;/a&gt; from the &lt;a href=&quot;http://ez.no/ezcomponents&quot;&gt;eZ Components&lt;/a&gt; SVN and added another option for&lt;br /&gt;
autoloads that are directly passed to ezcBase::addClassRepository. The instantiation of a db connection is already implemented in the original&lt;br /&gt;
code.&lt;br /&gt;
&lt;br /&gt;
Making my living easier works as follows:&lt;br /&gt;
&lt;br /&gt;
I&#039;m to lazy to write a monotonously suite.php for every suite which contains&lt;br /&gt;
only the information about the suite name.&lt;br /&gt;
&lt;br /&gt;
Instead of that I put the suite name in the directory:&lt;br /&gt;
&lt;br /&gt;
&quot;tests_search_cars&quot; - Every directory starting with &quot;tests_&quot; is a suite and&lt;br /&gt;
the following substring is the suite name. Suites can be nested.&lt;br /&gt;
&lt;br /&gt;
All files ending on &quot;_test.php&quot; are added either to the global test suite or&lt;br /&gt;
to the suite represented by the directory they are in.&lt;br /&gt;
&lt;br /&gt;
While working with the tool, I discovered that the ezc testrunner doesn&#039;t pass&lt;br /&gt;
the filter option to run only tests which match a pattern. This is added in my&lt;br /&gt;
runner too.&lt;br /&gt;
&lt;br /&gt;
Some small todos:&lt;br /&gt;
&lt;br /&gt;
- handle wildcards &lt;br /&gt;
- add ezc classes and testrunner classes to the filter for code coverage&lt;br /&gt;
- support also other locations for autoload files instead of autoload/&lt;br /&gt;
- add comments and licence infos... &lt;img src=&quot;http://koch.ro/blog/templates/default/img/emoticons/wink.png&quot; alt=&quot;;-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
download: &lt;a href=&quot;http://koch.ro/blog/uploads/misc/phpunit_testrunner.tar.gz&quot; title=&quot;phpunit_testrunner.tar.gz&quot; target=&quot;_blank&quot;&gt;phpunit_testrunner.tar.gz&lt;/a&gt; 
    </content:encoded>

    <pubDate>Fri, 28 Sep 2007 11:59:33 +0200</pubDate>
    <guid isPermaLink="false">http://koch.ro/blog/index.php?/archives/51-guid.html</guid>
    
</item>

</channel>
</rss>