News Feed
Sections




News Archive
Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

Zend Developer Zone:
Zend Framework application's PHPUnit suite 3x faster
October 29, 2010 @ 09:49:54

On the Zend Developer Zone today there's a new tutorial by Olek Janiszewski with a suggestion to help make the execution of your application's PHPUnit tests around three times faster. There's two problems that he sees as the slowdowns - truncating tables after the test runs and declaring tables in controller tests.

As I've mentioned before, Zend Framework isn't really encouraging developers to do TDD (on the other hand, this shouldn't be a surprise in the PHP community). The application architecture is based on singletons all around (front controller, session, layout, helper broker, registry, etc.), the bootstrap doesn't "separate the cacheable from the non-cacheable", there's no built-in support for dependency injection, the ORM is cumbersome to stub out.

So, as a solution to these problems, he suggests a simpler way to handle the test by wrapping the entire thing in a transaction and then rolling it back after the case is done. There are a few issues with doing it this way, though. There's four of them - that the database connection isn't really shared, MyISAM tables, issues with expected primary key values and a performance boost but only on certain systems.

In the comments, there's a note about two things that could help this situation and are already included in some of the Zend Framework functionality - Zend_Test_PHPUnit_DatabaseTestCase and ControllerTestCase.

0 comments voice your opinion now!
phpunit unittest zendframework performance database controller


blog comments powered by Disqus

Similar Posts

Zend Developer Zone: Zend Platform Performance Tuning on IBM i

Mike Purcell's Blog: PHPUnit - Constant Already Defined - -process-isolation

Lorna Mitchell's Blog: Script for Database Patching at Deploy Time

Richard Thomas: Solar Gets Firephp Support & a Base Controller Tip

Matthias Noback: A better PHP testing experience Part II: Pick your test doubles wisely


Community Events





Don't see your event here?
Let us know!


package community podcast introduction opinion voicesoftheelephpant list language release deployment api symfony install series laravel framework tips library bugfix interview

All content copyright, 2014 PHPDeveloper.org :: info@phpdeveloper.org - Powered by the Solar PHP Framework