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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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