Skip to content
Extraits de code Groupes Projets
Valider ddaea3a6 rédigé par cerdic's avatar cerdic
Parcourir les fichiers

* un phpunit.xml.dist pour donner un environnement de base des tests

* un script bin/configure.php qui construit un phpunit.xml prenant en compte ce dernier et en ajoutant tous les repertoire de tests/ des plugins qui contiennent des tests PHPUnit
* un Makefile qui permet de lancer simplement `Make tests` pour lancer tous les tests en etant sur que tout est configure

Le phpunit.xml n'est pas mis a jour automatiquement si on active/desactive des plugins : il faut le supprimer manuellement pour qu'il soit regenere a la session suivante
(Idem si on ajoute un dossiers tests/ avec un tests unitaire PHPUnit dans un plugin deja actif)
parent bae50cd2
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -3,3 +3,4 @@ composer.lock
/vendor/
/vendor-bin/*/vendor/
.phpunit.result.cache
phpunit.xml
\ No newline at end of file
tests: vendor phpunit.xml
vendor/bin/phpunit --colors
phpunit.xml:
php bin/configure.php
vendor: composer.json
composer update
touch $@
\ No newline at end of file
#!/usr/bin/env php
<?php
// les args a passer a phpUnit
$args = $argv;
array_shift($args);
$dir_tests = dirname(__DIR__) . '/';
// charger SPIP
require_once $dir_tests . 'tests/spip.inc';
// Lister les repertoires du path qui contiennent des dossier tests/ avec des tests PHPUnit
$dirs = [];
foreach (creer_chemin() as $d) {
if ($d and
is_dir("${d}tests")
and count(glob("${d}tests/*Test.php"))
) {
$bases[] = "${d}tests";
}
}
$prefixe_dir = '../';
while (!is_dir($dir_tests . $prefixe_dir . 'ecrire')) {
$prefixe_dir .= '../';
}
$testsuites = [];
foreach ($bases as $base) {
$name = dirname($base);
$testsuites[] = "<testsuite name=\"$name\"><directory>{$prefixe_dir}{$base}/</directory></testsuite>";
}
$testsuites = "\t\t" . implode("\n\t\t", $testsuites) . "\n";
// generer le phpunit.xml a jour
$config = file_get_contents($dir_tests . 'phpunit.xml.dist');
$p = strpos($config, "\t</testsuites>");
$config = substr_replace($config, $testsuites, $p, 0);
file_put_contents($dir_tests . "phpunit.xml", $config);
<?xml version="1.0" encoding="UTF-8"?>
<phpunit bootstrap="./tests/spip.inc"
colors="true"
convertErrorsToExceptions="true"
convertNoticesToExceptions="true"
convertWarningsToExceptions="true"
stopOnFailure="false">
<testsuites>
<testsuite name="core"><directory>./tests/</directory></testsuite>
</testsuites>
</phpunit>
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter