Subversion Repositories eFlore/Projets.eflore-projets

Compare Revisions

Ignore whitespace Rev 93 → Rev 94

/trunk/scripts/tests/EfloreScriptPhpUnitTestCase.php
File deleted
\ No newline at end of file
/trunk/scripts/tests/bibliotheque/EfloreScriptTest.php
1,18 → 1,19
<?php
require_once dirname(__FILE__).'/../EfloreScriptPhpUnitTestCase.php';
require_once dirname(__FILE__).'/../ScriptEflorePhpUnit.php';
 
class EfloreScriptTest extends EfloreScriptPhpUnitTestCase {
class EfloreScriptTest extends ScriptEflorePhpUnit {
 
public function testChargerConfigDuProjetAvecFichiersIni() {
if (!file_exists('tmp/test.defaut.ini')) {
file_put_contents('tmp/test.defaut.ini', '');
$cheminRacine = realpath(dirname(__FILE__).'/../tmp/').'/';
if (!file_exists($cheminRacine.'test.defaut.ini')) {
file_put_contents($cheminRacine.'test.defaut.ini', '');
}
if (!file_exists('tmp/test.ini')) {
file_put_contents('tmp/test.ini', "[tables]\ntest=OK");
if (!file_exists($cheminRacine.'test.ini')) {
file_put_contents($cheminRacine.'test.ini', "[tables]\ntest=OK");
}
 
$script = $this->getMock('EfloreScript', array('getScriptChemin', 'getProjetNom', 'executer'));
$script->expects($this->any())->method('getScriptChemin')->will($this->returnValue('tmp/'));
$script->expects($this->any())->method('getScriptChemin')->will($this->returnValue($cheminRacine));
$script->expects($this->any())->method('getProjetNom')->will($this->returnValue('test'));
$chargerConfigDuProjet = self::getProtectedMethode($script, 'chargerConfigDuProjet');
$chargerConfigDuProjet->invoke($script);
/trunk/scripts/tests/bibliotheque/OutilsTest.php
1,7 → 1,7
<?php
require_once dirname(__FILE__).'/../EfloreScriptPhpUnitTestCase.php';
require_once dirname(__FILE__).'/../ScriptEflorePhpUnit.php';
 
class OutilsTest extends EfloreScriptPhpUnitTestCase {
class OutilsTest extends ScriptEflorePhpUnit {
 
public function testRecupererTableauConfigAssociatif() {
$chaineDeParametres = "param1=valeur1,\nparam2=valeur2";
/trunk/scripts/tests/ScriptEflorePhpUnit.php
New file
0,0 → 1,77
<?php
abstract class ScriptEflorePhpUnit extends PHPUnit_Framework_TestCase {
 
public static function setUpBeforeClass() {
error_reporting(E_ALL);
 
self::chargerFramework();
}
 
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
}
}
 
//+------------------------------------------------------------------------------------------------------+
// Méthodes facilitant les tests
 
/**
* Récupère un bouchon de classe abstraite.
* Comment l'utiliser :
* $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.
* @return Object Le bouchon de la classe abstraite
*/
public function getClasseAbstraite($classeNom, Array $parametres) {
$efloreScript = $this->getMockForAbstractClass($classeNom, $parametres);
return $efloreScript;
}
 
/**
* 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, $...);
*
* @param object $objet Une instance de votre classe
* @param string $methode Le nom de la méthode private
* @return ReflectionMethod La méthode demandée
*/
public static function getPrivateMethode($objet, $nomMethode) {
$classe = new ReflectionClass($objet);
$methode = $classe->getMethod($nomMethode);
$methode->setAccessible(true);
return $methode;
}
 
/**
* 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, $...);
* @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
*/
public static function getProtectedMethode($objet, $nomMethode) {
return self::getPrivateMethode($objet, $nomMethode);
}
}
?>