On 02/01/2013 02:52 PM, Cyril Mougel wrote:
J'ai une class UserCreate qui me permet de créer un utilisateur avec
son adresse.
https://gist.github.com/4691019/9d449582d9522e867ea4af6dfe4d6e66965c1041#file-user_create-rb
Je voulais avoir des retours sur ces 3 exemples.
Doit-on tester le 3 ? juste 2 et 3, ou juste 1 et 3 ? Je suis
actuellement dans de
grande phase de réflexion de ce coté là, car je n'arrive pas à me
décider sur le bon process. Je suis ouvert à tous commentaires.
Merci
Salut Cyril,
Je peux pas m’empêcher de répondre, tu t'en doutais peut-être :-p
Je crois que tu as écris la classe user_create.rb AVANT d'avoir écrit
tes tests...
Je vais donc pas te dire quel tests est, à mon avis, bon ou pas car je
pense que tous on été écrit après. Ce qui me viens tout de suite à
l'esprit en regardant le code c'est que ton initialize ne prend pas la
bonne chose... Ta classe sait créer un objet user AVEC une adresse,
c'est ce que tu dis, c'est donc son contrat. Déjà elle ne porte pas dans
son nom le fait qu'elle va créer le user AVEC une adresse...
Toutes les histoires autour de fastest et dci et autre truc autour
d'object on rails c'est issu d'un vieux bidule qui s'appel le DDD
(Domain Driven Design)[0] . Je conseil donc la lecture de la bible [1]
sur le sujet.
En faisant les tests avant ça marche mieux pour faire ce genre de chose.
Il faut aussi penser à avoir des tests d'intégrations (avec cucumber ou
plus simplement au niveau des controller) pour tester l'ensemble en
fonctionnement. Ces tests d'intégrations peuvent être lancé moins
souvent (puisque pas nécessaire pour écrire le code).
J'ai beau réfléchir à ton exemple, mais je le trouve tronqué. Il manque
des trucs pour pouvoir te faire une réponse. La logique semble être
autour de la construction d'adresse...
[0] https://en.wikipedia.org/wiki/Domain-driven_design
[1]
http://www.amazon.com/Domain-Driven-Design-Tackling-Complexity-Software/dp/0321125215
--
@ya_f
--
--
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse
[email protected]
Pour résilier votre abonnement envoyez un e-mail à l'adresse
[email protected]
---
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes Railsfrance.
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant,
envoyez un e-mail à l'adresse [email protected].
Pour plus d'options, visitez le site https://groups.google.com/groups/opt_out .