Bonjour à tous,
Pour résumer :
j'arrive à faire fonctionner phpunit avec une série de tests rassemblés dans un classe étendant PHPUnit_Framework_TestCase.
Je veux utiliser les fonctions de codecoverage avec xdebug.
ça ne fonctionne pas : ça tourne dans le vide et au bout de quelques minutes, le navigateur me propose de télécharger mon script. Sur le serveur, un log d'erreur est créé avec une erreur 503
-> si je réduis le nombre de tests, ça passe
-> j'ai essayé de modifier la memory_limit en la passant à 2000M ( ! ) mais ça ne change rien.
-> même chose avec set_time_limit
J'avoue ne pas savoir quoi faire pour essayer de trouver l'origine du problème
Tout d'abord ma config/info complémentaire :
PHP 5.3.2 installé sur windows avec ZendServer
Xdebug installé
Tests portant sur une extension réalisée pour Mediawiki 1.15.4
Maintenant un peu de code :
le fichier xml de config de phpunit
Code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
<?xml version="1.0" encoding="UTF-8"?>
<phpunit backupGlobals="false"
backupStaticAttributes="false"
colors="false"
convertErrorsToExceptions="true"
convertNoticesToExceptions="true"
convertWarningsToExceptions="true"
forceCoversAnnotation="false"
mapTestClassNameToCoveredClassName="false"
processIsolation="false"
stopOnError="false"
stopOnFailure="false"
stopOnIncomplete="false"
stopOnSkipped="false"
syntaxCheck="false"
strict="false"
verbose="false">
<testsuites>
<testsuite name="My Test Suite">
<directory>/MonExtension</directory>
<file>/MonExtension/Controller.php</file>
</testsuite>
</testsuites>
<logging>
<log type="coverage-html" target="../../../../../../reports/my-wiki" charset="UTF-8" yui="true"/>
</logging>
<filter>
<blacklist>
<exclude>
<directory suffix=".php">../../../../../../../../ZendServer</directory>
<directory suffix=".php">../../../../../../my/website</directory>
</exclude>
</blacklist>
<whitelist>
<directory suffix=".php">../../../../../../my/website/extensions/MonExtension</directory>
<exclude>
<directory suffix=".php">../../../../../../my/website/extensions/MonExtension/maintenance</directory>
</exclude>
</whitelist>
</filter>
</phpunit> |
le fichier PHP qui lance les tests (en ligne de commande j'ai des tas d'erreurs d'inclusion)
Code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
<?php
ini_set('memory_limit', '2000M');
set_time_limit(500);
error_reporting(E_ALL & ~E_NOTICE);
$IP = '../../../../';
putenv("MW_INSTALL_PATH=$IP");
require_once ($IP.'includes/WebStart.php');
set_include_path(implode(PATH_SEPARATOR, array( 'D:\zend\ZendServer\bin\PEAR',
get_include_path(),
)));
require '/../../autoload.php'; //autoload personnel de l'extension
require 'D:\zend\ZendServer\bin\PEAR\PHPUnit.php';
require 'D:\zend\ZendServer\bin\PEAR\PHPUnit\Autoload.php';
$_SERVER['argv'] = array( '--configuration' ,
'D:\zend\Apache2\htdocs\my\website\extensions\MonExtension\maintenance\tests\phpunit-config.xml'
);
echo '<pre>';
try
{
PHPUnit_TextUI_Command::main();
}
catch(Exception $e)
{
print_r($e->getTrace());
}
echo '</pre>'; |
output quand je lance le test sans code coverage
Code :
1 2 3 4 5 6 7 8
|
PHPUnit @package_version@ by Sebastian Bergmann.
...............
Time: 48 seconds, Memory: 4.75Mb
OK (15 tests, 43 assertions) |
Par avance merci pour vos réponses