Hi all,
I've a problem using these two components together when i run my tests. I
have my tests organized with a hierarchy similar to the Zend Framework one,
so in every directory I have a file named AllTests.php which can be used to
run all the tests in that directory recursively.
When I run a consistent number of test I have an exception regarding some
classes not found; I debugged the code and I found that is a problem related
to include_path. This is an example of what's happening:
class TestCase extends PHPUnit_Framework_TestCase {
/**
* @var Zend_Application_Bootstrap_Bootstrap
*/
protected $_bootstrap;
public function __construct($name = NULL, array $data = array(),
$dataName
= '') {
parent::__construct($name, $data, $dataName);
$application = new Zend_Application(APPLICATION_ENV,
APPLICATION_CONFIG);
$application->bootstrap('db');
$this->_bootstrap = $application->getBootstrap();
Zend_Debug::dump(get_include_path());
}
public function testA() {
Zend_Debug::dump(get_include_path());
}
public function testB() {
Zend_Debug::dump(get_include_path());
}
public function testC() {
Zend_Debug::dump(get_include_path());
}
}
and this is the output:
string(120) "/Users/fabionapoleoni/Documents/workspaces/php/ZenitSpot
Trunk/application/var/lib:.:/Applications/MAMP/bin/php5/lib/php"
string(203) "/Users/fabionapoleoni/Documents/workspaces/php/ZenitSpot
Trunk/application/var/lib:/Users/fabionapoleoni/Documents/workspaces/php/ZenitSpot
Trunk/application/var/lib:.:/Applications/MAMP/bin/php5/lib/php"
string(286) "/Users/fabionapoleoni/Documents/workspaces/php/ZenitSpot
Trunk/application/var/lib:/Users/fabionapoleoni/Documents/workspaces/php/ZenitSpot
Trunk/application/var/lib:/Users/fabionapoleoni/Documents/workspaces/php/ZenitSpot
Trunk/application/var/lib:.:/Applications/MAMP/bin/php5/lib/php"
PHPUnit 3.3.15 by Sebastian Bergmann.
string(286) "/Users/fabionapoleoni/Documents/workspaces/php/ZenitSpot
Trunk/application/var/lib:/Users/fabionapoleoni/Documents/workspaces/php/ZenitSpot
Trunk/application/var/lib:/Users/fabionapoleoni/Documents/workspaces/php/ZenitSpot
Trunk/application/var/lib:.:/Applications/MAMP/bin/php5/lib/php"
.
string(286) "/Users/fabionapoleoni/Documents/workspaces/php/ZenitSpot
Trunk/application/var/lib:/Users/fabionapoleoni/Documents/workspaces/php/ZenitSpot
Trunk/application/var/lib:/Users/fabionapoleoni/Documents/workspaces/php/ZenitSpot
Trunk/application/var/lib:.:/Applications/MAMP/bin/php5/lib/php"
.
string(286) "/Users/fabionapoleoni/Documents/workspaces/php/ZenitSpot
Trunk/application/var/lib:/Users/fabionapoleoni/Documents/workspaces/php/ZenitSpot
Trunk/application/var/lib:/Users/fabionapoleoni/Documents/workspaces/php/ZenitSpot
Trunk/application/var/lib:.:/Applications/MAMP/bin/php5/lib/php"
.
Time: 0 seconds
OK (3 tests, 0 assertions)
As you can see at every constructor call (all of them made in the
inizialization phase) the include_path growth by a voice, as specified by
application.ini
includePaths.library = APPLICATION_PATH "/var/lib"
This problem doesn't affect earlier tests, but when I run a large number of
tests the include_path became of over 1000 characters and at a certain point
php doesn't find classes anymore.
What can I do to fix this behaviour? I tried by saving original include_path
in constructor and restoring it both in the teardown method and in the
__destruct method, but with no success :-(
Any hint?
--
View this message in context:
http://www.nabble.com/Zend_Application-and-Unit-Testing-with-phpunit-make-inlude_path-growth-without-limits-tp24590803p24590803.html
Sent from the Zend Framework mailing list archive at Nabble.com.