1,30 → 1,44 |
<?php |
// declare(encoding='UTF-8'); |
/** |
* Classe contenant des méthodes : |
* - d'intialisation des tests, |
* - refactorisant le code des tests, |
* - facilitant les tests. |
* - d'intialisation des tests, |
* - refactorisant le code des tests, |
* - facilitant les tests. |
* |
* @category php 5.3 |
* @package Tests/Services |
* @author Raphaël Droz <raphael@tela-botanica.org> |
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
* @copyright Copyright (c) 2011, Tela Botanica (accueil@tela-botanica.org) |
* @copyright Copyright (c) 2011, 2013 Tela Botanica (accueil@tela-botanica.org) |
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL |
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL |
* @version $Id$ |
*/ |
|
require_once __DIR__ . '/../framework.php'; |
abstract class ConsultationEflorePhpUnit extends PHPUnit_Framework_TestCase { |
|
//+------------------------------------------------------------------------------------------------------+ |
// Intialisation |
|
/* absolument nécessaire pour que Registre::$statics et Config::$statics soient réinitialisés lors |
de multiples tests successifs (notamment pour le moteur de recherche). |
*Et* l'annotation de setUpBeforeClass() |
*et* l'attribut $backupStaticAttributes |
*et* l'accès fictif @Registre::get(NULL); |
sont tous trois nécessaires */ |
protected $backupStaticAttributes = true; |
|
/** |
* @backupStaticAttributes enabled |
*/ |
public static function setUpBeforeClass() { |
error_reporting(E_ALL); |
self::chargerFramework(); |
|
// Enregistrement en première position des autoload de la méthode gérant les classes des services |
spl_autoload_register(array(get_class(), 'chargerClasseAuto')); |
if(!Framework::getCheminAppli()) { |
Framework::setCheminAppli(__DIR__ . '/../'); |
// Enregistrement en première position des autoload de la méthode gérant les classes des services |
spl_autoload_register(array(get_class(), 'chargerClasseAuto')); |
} |
Registre::get(NULL); |
} |
|
public static function chargerClasseAuto($classe) { |
50,21 → 64,6 |
} |
} |
|
private static function chargerFramework() { |
$cheminRacine = realpath(dirname(__FILE__).'/..').'/'; |
$framework = $cheminRacine.'framework.php'; |
if (!file_exists($framework)) { |
$e = "Veuillez paramétrer l'emplacement et la version du Framework dans le fichier $framework"; |
trigger_error($e, E_USER_ERROR); |
} else { |
// Inclusion du Framework |
require_once $framework; |
|
// Ajout d'information concernant cette application |
Framework::setCheminAppli($cheminRacine);// Obligatoire |
} |
} |
|
//+------------------------------------------------------------------------------------------------------+ |
// Refactorisation |
protected function consulterJson($ressources, $parametres) { |
98,8 → 97,7 |
$parametresUrl = '?'.implode('&', $parametresUrl); |
} |
|
$url = 'http://localhost/service:eflore:0.1'.$ressourcesUrl.$parametresUrl; |
return $url; |
return 'http://localhost/service:eflore:0.1'.$ressourcesUrl.$parametresUrl; |
} |
|
//+------------------------------------------------------------------------------------------------------+ |
108,8 → 106,8 |
/** |
* Récupère un bouchon de classe abstraite. |
* Comment l'utiliser : |
* $classeAstraite = $this->getClasseAbstraite('MaClasse', array('param1', 'param2')); |
* $foo = $classeAstraite->methodeConcretePublique(); |
* $classeAstraite = $this->getClasseAbstraite('MaClasse', array('param1', 'param2')); |
* $foo = $classeAstraite->methodeConcretePublique(); |
* |
* @param String $classeNom Le nom de la classe |
* @param Array $parametres Les paramètres à passer au constructeur. |
116,17 → 114,16 |
* @return Object Le bouchon de la classe abstraite |
*/ |
public function getClasseAbstraite($classeNom, Array $parametres) { |
$efloreScript = $this->getMockForAbstractClass($classeNom, $parametres); |
return $efloreScript; |
return $this->getMockForAbstractClass($classeNom, $parametres); |
} |
|
/** |
* Récupère une méthode privée d'une classe pour tester/documenter. |
* Comment l'utiliser : |
* MyClass->foo(): |
* $cls = new MyClass(); |
* $foo = self::getPrivateMethode($cls, 'foo'); |
* $foo->invoke($cls, $...); |
* MyClass->foo(): |
* $cls = new MyClass(); |
* $foo = self::getPrivateMethode($cls, 'foo'); |
* $foo->invoke($cls, $...); |
* |
* @param object $objet Une instance de votre classe |
* @param string $methode Le nom de la méthode private |
142,10 → 139,10 |
/** |
* Récupère une méthode protégée d'une classe pour tester/documenter. |
* Comment l'utiliser : |
* MyClass->foo(): |
* $cls = new MyClass(); |
* $foo = self::getProtectedMethode($cls, 'foo'); |
* $foo->invoke($cls, $...); |
* MyClass->foo(): |
* $cls = new MyClass(); |
* $foo = self::getProtectedMethode($cls, 'foo'); |
* $foo->invoke($cls, $...); |
* @param object $objet Une instance de votre classe |
* @param string $methode Le nom de la méthode protected |
* @return ReflectionMethod La méthode demandée |