atoum / AtoumBundle

This bundle provides a simple integration of atoum into Symfony 2.
MIT License
44 stars 25 forks source link

Add a kernelReset attribute to controle kernel reseting on client creation. #56

Closed SylvG closed 10 years ago

SylvG commented 10 years ago

During tests of controllers with a database connection inside, the connection is lost by kernel reseting. This PR allows to disable kernel reseting and avoid this problem.

Note : I don't know how to test it.

SylvG commented 10 years ago

En fait quand on utilise une bdd chargée en mémoire (SQLite en l'occurrence) et qu'on la charge dans le beforeTestMethod() pour un test de contrôleur, la connexion est resetée par le createClient() qui fait un reboot du kernel.

Du coup ce booléen permet de shunter ce reset.

stephpy commented 10 years ago

En effet, c'est un bon exemple. :+1:

jubianchi commented 10 years ago

:+1: j'en avais discuté un moment avec @mikaelrandy : c'est effectivement quelque chose de très utile pour tester ses controllers.

Par contre, j'aurais activé les annotations pour activer/désactiver le reset du kernel : ça permettrait d'avoir un comportement semblable à ce qui est fait dans atoum pour modifier le comportement par défaut des tests.

mikaelrandy commented 10 years ago

@jubianchi @SylvG travaille avec moi, et c'est le résultat de notre discussion cette PR ;) Tu peux nous pointer un exemple d'implémentation de ce que tu attends pour qu'on adapte notre PR ?

jubianchi commented 10 years ago

@mikaelrandy @SylvG je m'en doutais ;)

Concernant les annotations, voici quelques exemples de patch appliqué sur atoum. Je pense que vous pourrez vous en inspirer pour ajouter le support des annotations ici :

mikaelrandy commented 10 years ago

Je viens d'ajouter le support des annotations pour cette PR.

A noter que j'ai fais le choix de la surcharge de la méthode plutôt que du préchargement de l'annotation extractor, car ce dernier est systèmatiquement reseté, et donc que les annotation pré-chargées sont supprimées.

jubianchi commented 10 years ago

ça me semble correct, je vais essayer de monter un petit test ce week-end ;)

merci :+1:

KuiKui commented 10 years ago

up :smile:

jubianchi commented 10 years ago

@KuiKui @mikaelrandy tant que les tests ne sont pas verts, rien ne sera mergé... je dois regardé ça en détail parce que l'erreur me parait bizarre dans le contexte de cette PR.

omansour commented 10 years ago

@jubianchi le build du master est en fail ouais https://travis-ci.org/atoum/AtoumBundle/jobs/16315378