IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

validateur dans un test unitaire


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 131
    Par défaut validateur dans un test unitaire
    Rebonjour

    Je voudrais savoir, si je peux faire un test unitaire en utilisant un validateur.

    J'explique, sur une date, j'ai un validateur , je ne soumettre le formulaire que lorsque la date doit être postérieure à 6 mois .

    Mais je ne sais pas si je peux utiliser la fonction de validateur dans mon fichier modelTest.php?

    Merci

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    396
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 396
    Par défaut
    C'est sur ton save() donc que tu veux faire un test unitaire ?

    Si non, quel est la fonction que sur laquelle tu fais ton test unitaire (avec éventuellement le code de cette fonction) ?

    Da manière générale, ton test devrait se dérouler sous cette forme :
    - tu initialises ton objet ;
    - tu lances ta méthode (peu importe si elle requiert un validateur) ;
    - tu testes si ton objet a été enregistré ou non en base.

  3. #3
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 131
    Par défaut
    avant je faisais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $expected = '{ 	"id" : "1","label": "mon test", "value": "valuetest"}';
    $t->is($monModel->maFonction(), $expected, '**Test colonnes par défaut**');
    parceque j'avais le resultat attendu dans le $expected.

    Alors la, je ne sais pas quoi faire, je dois tester sur la validation de mon formulaire , comme tu as mentionné, probablement sur le save que je dois tester.

    Merci

  4. #4
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut


    Dans un formulaire, la validation n'est possible que si tous les validateurs répondent ok.

    Donc, si as un champ, ou plusieurs, il n'y a pas de particularités.

    Dans ton contrôleur (executeXxxx) tu bind les données, puis tu fait un tour par isValid(), si vrai, tu sauve, si faux, tu réaffiches.


    Qu'est-ce donc que ce fichier : modelTest.php ?

  5. #5
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 131
    Par défaut
    Je ne cherche pas à valider mon formulaire, si vous voulez le développement je l'ai terminé, maintenant, je suis dans la phase de tests, et donc j'ai crée un fichier "modelTest.php => corespond à mon model "
    Mais je voudrai faire un test correct, d'habitude les tests unitaires, je ne les effectue pas sur les validateurs; mais ça serait bien si je le ferai cette fois.

    et Dans mon exemple donné, le test correspond à un retour attendu => test basique.

    Je ne sais pas si c'est assez explicite

    Merci

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    396
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 396
    Par défaut
    Il y a plusieurs choses que je ne comprends pas :
    - ce que tu veux tester (un test unitaire teste une méthode, pas un validateur -- dans ce dernier cas, il s'agit d'un test fonctionnel) ;
    - ce à quoi correspond ton string $expected.

    Du coup, pourrais-tu poster clairement le contenu de la fonction que tu tentes de tester ?

    Egalement, quels sont les cas de test ? ("je veux tester tel cas, qui implique tel résultat")

Discussions similaires

  1. Send_mail dans les tests unitaires
    Par Snooky68 dans le forum Django
    Réponses: 0
    Dernier message: 05/03/2012, 17h57
  2. Erreur tres bizarre dans un test unitaire
    Par BlueMagma dans le forum Django
    Réponses: 3
    Dernier message: 14/09/2011, 17h26
  3. [EasyMock] utilisation des mock dans les test unitaires.
    Par jeremieG dans le forum Tests et Performance
    Réponses: 7
    Dernier message: 16/07/2010, 17h10
  4. [XP] est-ce que "if" peut apparaitre dans un test unitaire?
    Par wl1979 dans le forum Méthodes Agiles
    Réponses: 3
    Dernier message: 14/08/2009, 19h59
  5. Calcul de la profondeur dans les tests unitaires
    Par alex.nd4 dans le forum Tests et Performance
    Réponses: 0
    Dernier message: 26/02/2009, 16h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo