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 :

Phpunit et liuggio/excelbundle [2.x]


Sujet :

Symfony PHP

  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2003
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2003
    Messages : 307
    Par défaut Phpunit et liuggio/excelbundle
    Bonjour

    J'utilise liuggio/excelbundle pour mes exports Xls
    Et j'ai un soucis pour mes tests fonctionnels

    Le test fonctionne, mais j'ai le contenu binaire du fichier qui s'affiche quand le test se fait
    Ca rends le résultat de mes tests illisibles

    Voici mon code

    L'action qui envoie le xls
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    public function contrevenantAction(Request $request)
        {
            $phpExcelObject = $this->createContrevenantXSLObject($request);
            $writer = $this->get('phpexcel')->createWriter($phpExcelObject, 'Excel5');
            $response = $this->get('phpexcel')->createStreamedResponse($writer);
            $response->headers->set('Content-Type', 'text/vnd.ms-excel; charset=utf-8');
            $response->headers->set('Content-Disposition', 'attachment;filename=contrevenants.xls');
            $response->headers->set('Pragma', 'public');
            $response->headers->set('Cache-Control', 'maxage=1');
     
            return $response;
        }
    Le code test

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     public function testEcheance()
        {
            $crawler = $this->client->request('GET', '/echeance/');
            $this->assertEquals(200, $this->client->getResponse()->getStatusCode());
            $crawler = $this->client->click($crawler->selectLink('Exporter en Excel')->first()->link());
            $this->assertTrue($this->client->getResponse()->headers->contains('Content-Type', 'text/vnd.ms-excel; charset=utf-8'));
        }
    Et en capture le résultat du test

    Nom : phpunit.png
Affichages : 160
Taille : 61,4 Ko

    Merci

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 505
    Par défaut
    A vue de nez tu essaie d'afficher un fichier Excel dans une console...;ça peut pas aller.

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2003
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2003
    Messages : 307
    Par défaut
    Non si on suit ta logique, alors les tests devraient m'afficher le contenu html en console...

    J'ai le meme genre de test pour les exports pdf et je ne rencontre pas ce soucis

    Je vais poser la question directement sur le forum du plugin



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     return new Response(
                    $this->get('knp_snappy.pdf')->getOutputFromHtml($html), 200, array(
                'Content-Type' => 'application/pdf',
                'Content-Disposition' => 'attachment; filename="grh_' . $name . '.pdf"'
                    )
            );

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
            $this->assertTrue($this->client->getResponse()->headers->contains('Content-Type', 'application/pdf'));

  4. #4
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 505
    Par défaut
    C'est juste que j'ai le même résultat dans mon fichier Excell, quand celui-ci merde.

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2003
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2003
    Messages : 307
    Par défaut
    Ha ben voila j'ai trouvé
    En ajoutant simplement ob_clean();
    le test se déroule correctement sans que celui ci me renvoie en "pleine tronche" le binaire


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $crawler = $this->client->request('GET', '/grh/archive/echeance');
    $this->assertEquals(200, $this->client->getResponse()->getStatusCode());
    $crawler = $this->client->click($crawler->selectLink('Exporter en Excel')->first()->link());
    ob_clean();
    $this->assertTrue($this->client->getResponse()->headers->contains('Content-Type', 'text/vnd.ms-excel; charset=utf-8'));

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Zend Framework et PHPUnit comment l'utiliser ?
    Par Yoteco dans le forum MVC
    Réponses: 8
    Dernier message: 13/05/2009, 19h35
  2. [PHPUnit] Valeur de $_SERVER[DOCUMENT_ROOT]
    Par karl3i dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 14/01/2008, 09h49
  3. [Upload] Tests PHPUnit et is_uploaded_file()
    Par Grégory PLANCHAT dans le forum Langage
    Réponses: 2
    Dernier message: 06/12/2007, 23h48
  4. [test] Limites des outils Jmeter , JUnit, PhpUnit ?
    Par foufa007 dans le forum Outils
    Réponses: 5
    Dernier message: 19/06/2007, 11h12

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