Bonjour à tous,

j'ai une problématique qui se pose à moi. Je suis en train d'implémenter des tests unitaire sur un
projet existant. Seulement voila je bloque sur le fait que, imaginons, j'écris un test sur ma fonction
getNbId() par exemple, qui va get le nombre d'ID d'une table, je connais donc le résultat attendu vu
que j'écris mon test. Mais si ma table change et que de nouveaux ID sont créer, le résultat ne sera
plus le même. Logique.

C'est à ce moment la que je me demande qu'elle est la meilleur technique à adapter? Faut il fixer la
base de données? Mais a ce moment la elle ne sera plus le reflet exacte de la vrais base donc les
tests ne serons plus fiable? Quelle est la meilleur technique à adopter? Est-ce possible / important
de tester ce genre de chose? J'ai vu différents outils comme PHPUnit_Extensions_Database, ou
encore l'utilisation des mocks. Mais je vous avoue être un peu perdu. Si quelqu'un à des avis, je
suis preneur.

Merci.


EDIT:

J'ai pensé faire une copie de ma base et mettre un préfix "test_" à toutes les tables pour ensuite,
dans mon bootstrap.php, faire en sorte de remplacer le nom de toutes les tables. ex:

bootstrap.php:
<?php
$_SERVER['DOCUMENT_ROOT'] = /foo/bar;
maSuperBase = test_maSuperBase;
table1 = testtable1;
table2 = testtable2;
...
?>