GIF89a=( �' 7IAXKgNgYvYx\%wh&h}t�h%�s%x�}9�R��&�0%� (�.��5�SD��&�a)�x5��;ͣ*ȡ&ղ)ׯ7׵<ѻ4�3�H֧KͯT��Y�aq��q��F� !� ' !� NETSCAPE2.0 , =( ��pH,�Ȥr�l:xШtJ�Z�جv��z��xL.:��z�n���|N�����~�������& !�0`9R�}��"�"a:S�~x��������g���E�������R���E����B�� ��ȸ��D���"�Ů� �H��L��D٫D�B�����D���T���H �G��A R�ڐ |�� ٭&��E8�S�kG�A�px�a��� R2XB��E8I���6X�:vT)�~��q�賥��"F~%x� � 4#Z�0O|-4Bs�X:= Q� Sal��yXJ`GȦ|s h��K3l7�B|�$'7Jީܪ0!��D�n=�P� ����0`�R�lj����v>���5 �.69�ϸd�����nlv�9��f{���Pbx �l5}�p� ��� �3a���I�O����!ܾ���i��9��#��)p�a ޽ �{�)vm��%D~ 6f��s}Œ�D�W E�`!� �&L8x� �ܝ{)x`X/>�}m��R�*|`D�=�_ ^�5 !_&'a�O�7�c��`DCx`�¥�9�Y�F���`?��"� �n@`�} lď��@4>�d S �v�xN��"@~d��=�g�s~G��� ���ud &p8Q�)ƫlXD����A~H�ySun�j���k*D�LH�] ��C"J��Xb~ʪwSt}6K,��q�S:9ت:���l�@�`�� �.۬�t9�S�[:��=`9N����{¿�A !R�:���6��x�0�_ �;������^���#����!����U���;0L1�����p% A��U̬ݵ��%�S��!���~`�G���� ���=4�np�3���������u�u�ٮ|%2�I��r�#0��J``8�@S@5� ���^`8E�]�.�S���7 � �0�j S�D� z���i�S�����!���l��w9*�D�I�nEX��� &A�Go�Qf��F��;���}�J����F5��Q|���X��T��y���]� o ��C=��:���PB@ D׽S�(>�C�x}`��xJЬ�۠��p+eE0`�}`A �/NE�� �9@��� H�7�!%B0`�l*��!8 2�%� �:�1�0E��ux%nP1�!�C)�P81l�ɸF#Ƭ{����B0>�� �b�`��O3��()yRpb��E.ZD8�H@% �Rx+%���c� ���f��b�d�`F�"8�XH"��-�|1�6iI, 2�$+](A*j� QT�o0.�U�`�R�}`�SN����yae�����b��o~ S)�y�@��3 �tT�0�&�+~L�f"�-|�~��>!�v��~�\Q1)}@�}h#aP72�"�$ !� " , =( &7IAXG]KgNgYvYxR"k\%w]'}h}t�h%�g+�s%r.m3ax3�x�}9��&��+�!7�0%� (�.�SD��&��;�"&ײ)׻4��6�K� �@pH,�Ȥr�l:xШtJ�Z�جv��z��xL.:��z�n���|N�����~�������& !�0`9R�}��"�"a:S�~x��������g �� E �� �������E �´��C���ǶR��D��"Ʒ�ʱH��M��GڬD�B����D��T����G���C�C� l&�~:'�tU�6ɹ#��)�'�.6�&��Ȼ K(8p0N�?!�2"��NIJX>R��OM '��2�*x�>#n� �@<[:�I�f ��T���Cdb��[�}E�5MBo��@�`@��tW-3 �x�B���jI�&E�9[T&$��ﯧ&"s��ȳ����dc�UUρ#���ldj?����`\}���u|3'�R]�6 �S#�!�FKL�*N E���`$�:e�YD�q�.�촁�s \-�jA 9�����-��M[�x(�s��x�|���p��}k�T�DpE@W� ��]k`1� ���Yb ��0l��*n0��"~zBd�~u�7�0Bl��0-�x~|U�U0 �h�*HS�|��e"#"?vp�i`e6^�+q��`m8 #V�� ��VS|`��"m"сSn|@:U���~`pb�G�ED����2F�I�? >�x� R� ��%~jx��<�a�9ij�2�D��&: Z`�]w���:�6��B�7eFJ|�ҧ�,���FǮcS�ʶ+B�,�ܺN���>PAD�HD��~���n��}�#�� Q��S���2�X�{�k�lQ�2�����w�|2� h9��G�,m���3��6-��E�L��I�³*K���q�`DwV�QXS��peS��� qܧTS����R�u �<�a�*At�lmE� � ��N[P1�ۦ��$��@`��Dpy�yXvCAy�B`}D� 0QwG#� �a[^�� $���Ǧ{L�"[��K�g�;�S~��GX.�goT.��ư��x���?1z��x~:�g�|�L� ��S`��0S]P�^p F<""�?!,�!N4&P� ����:T�@h�9%t��:�-~�I<`�9p I&.)^ 40D#p@�j4�ج:�01��rܼF2oW�#Z ;$Q q  �K��Nl#29 !F@�Bh�ᏬL!XF�LHKh�.�hE&J�G��<"WN!�����Y@� >R~19J"�2,/ &.GXB%�R�9B6�W]���W�I�$��9�RE8Y� ��"�A5�Q.axB�&ة�J�! �t)K%tS-�JF b�NMxL��)�R��"���6O!TH�H� 0 !� ) , =( &AXKgNgYvYxR"k\%wh&h}h%�g+�s%r.x3�x�}9��&��+�R,�!7�0%� (�.��5��&�a)��;�"&ף*Ȳ)ׯ7׻4�3��6�H֧KͻH�T��Y��q��h� ��pH,�Ȥr�l:xШtJ�Z�جv��z��xL.:��z�n���|N�����~�������& !�0`9R�}��"�"a:S�~x��������g �� E$����� � ����$E$��"��D� � ������R��C��� E ��H�M��G�D� �B��ϾD��a��`1r��Ӑ�� �o~�zU!L�C'�yW�UGt����ll�0���uG�)A�s[��x� �xO%��X2�  P�n:R/��aHae+�Dm?# ǣ6�8�J�x�Di�M���j���5oQ7�- <! *�l��R2r/a!l)d� A"�E���� &� ;��c �%����b��pe~C"B���H�eF2��`8qb�t_`ur`e� w�u3��Pv�h""�`�Íx�LĹ��3� �~ֺ�:���MDfJ� �۵�W�%�S�X �؁)�@��:E��w�u�Sxb8y\m�zS��Zb�E�L��w!y(>�"w�=�|��s�d �C�W)H�cC$�L �7r.�\{)@�`@ �X�$PD `aaG:���O�72E�amn]�"Rc�x�R� &dR8`g��i�xLR!�P &d����T���i�|�_ � Qi�#�`g:��:noM� :V �)p����W&a=�e�k� j���1߲s�x�W�jal|0��B0�, \j۴:6���C ��W��|��9���zĸV {�;��n��V�m�I��.��PN� ����C��+��By�ѾHŸ:��� 7�Y�FTk�SaoaY$D�S���29R�kt� ��f� ��:��Sp�3�I��DZ� �9���g��u�*3)O��[_hv ,���Et x�BH� �[��64M@�S�M7d�l�ܶ5-��U܍��z�R3Ԭ3~ ��P��5�g: ���kN�&0�j4���#{��3S�2�K�'ợl���2K{� {۶?~m𸧠�I�nE�='����^���_�=��~�#O���'���o..�Y�n��CSO��a��K��o,���b�����{�C�� "�{�K ��w��Ozdը�:$ ���v�] A#� ���a�z)Rx׿ƥ�d``�w-�y�f�K!����|��P��=�`�(f��'Pa ��BJa%��f�%`�}F����6>��`G"�}�=�!o`�^FP�ةQ�C���`(�}\�ݮ ��$<��n@dĠE#��U�I�!� #l��9`k���'Rr��Z�NB�MF �[�+9���-�wj���8�r� ,V�h"�|�S=�G_��"E� 0i*%̲��da0mVk�):;&6p>�jK ��# �D�:�c?:R Ӭf��I-�"�<�="��7�3S��c2RW ,�8(T"P0F¡Jh�" ; 403WebShell
403Webshell
Server IP : 81.88.48.95  /  Your IP : 10.1.244.14, 216.73.216.169
Web Server : Apache
System : Linux opus03 3.2.0-4-amd64 #1 SMP Debian 3.2.68-1+deb7u3 x86_64
User : nobody ( 99)
PHP Version : 5.3.3-7+squeeze3
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /htdocs/vendor/swiftmailer/swiftmailer/test-suite/lib/simpletest/docs/source/fr/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /htdocs/vendor/swiftmailer/swiftmailer/test-suite/lib/simpletest/docs/source/fr/simple_test.xml
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!-- $Id: simple_test.xml 1701 2008-03-24 20:08:06Z pp11 $ -->
<page title="Prise en main rapide de SimpleTest" here="Prise en main rapide de SimpleTest">
    <synchronisation lang="en" version="1687" date="24/03/2008" maintainer="pp11" />
    <long_title>
        Prise en main rapide de SimpleTest pour PHP -
        Tests unitaire et objets fantaisie pour PHP
    </long_title>
    <content>
        <introduction>
            <p>
                Le prsent article prsuppose que vous soyez familier avec
                le concept de tests unitaires ainsi que celui de dveloppement
                web avec le langage PHP. Il s'agit d'un guide pour le nouvel
                et impatient utilisateur de
                <a href="https://sourceforge.net/project/showfiles.php?group_id=76550">SimpleTest</a>.
                Pour une documentation plus complte, particulirement si
                vous dcouvrez les tests unitaires, consultez la
                <a href="http://www.lastcraft.com/unit_test_documentation.php">documentation
                en cours</a>, et pour des exemples de scnarios de test,
                consultez le
                <a href="http://www.lastcraft.com/first_test_tutorial.php">tutorial
                sur les tests unitaires</a>.
            </p>
        </introduction>
        <section name="unit" title="Utiliser le testeur rapidement">
            <p>
                Parmi les outils de test pour logiciel, le testeur unitaire
                est le plus proche du dveloppeur. Dans un contexte de
                dveloppement agile, le code de test se place juste  ct
                du code source tant donn que tous les deux sont crits
                simultanment. Dans ce contexte, SimpleTest aspire  tre
                une solution complte de test pour un dveloppeur PHP et
                s'appelle "Simple" parce qu'elle devrait tre simple 
                utiliser et  tendre. Ce nom n'tait pas vraiment un bon
                choix. Non seulement cette solution inclut toutes les
                fonctions classiques qu'on est en droit d'attendre de la
                part des portages de <a
                href="http://www.junit.org/">JUnit</a> et des <a
                href="http://sourceforge.net/projects/phpunit/">PHPUnit</a>,
                mais elle inclut aussi les <a
                href="http://www.mockobjects.com/">objets fantaisie ou
                "mock objects"</a>.
            </p>
            <p>
                Ce qui rend cet outil immdiatement utile pour un dveloppeur PHP,
                c'est son navigateur web interne.
                Il permet des tests qui parcourent des sites web, remplissent
                des formulaires et testent le contenu des pages.
                Etre capable d'crire ces tests en PHP veut dire qu'il devient
                facile d'crire des tests de recette (ou d'intgration).
                Un exemple serait de confirmer qu'un utilisateur a bien t ajout
                dans une base de donnes aprs s'tre enregistr sur une site web.
            </p>
            <p>
                La dmonstration la plus rapide : l'exemple
            </p>
            <p>
                Supposons que nous sommes en train de tester une simple
                classe de log dans un fichier : elle s'appelle
                <code>Log</code> dans <em>classes/Log.php</em>. Commenons
                par crer un script de test, appel
                <em>tests/log_test.php</em>. Son contenu est le suivant...
<php><![CDATA[
<?php
<strong>require_once('simpletest/autorun.php');</strong>
require_once('../classes/log.php');

class TestOfLogging extends <strong>UnitTestCase</strong> {
}
?>
]]></php>
                Ici le rpertoire <em>simpletest</em> est soit dans le
                dossier courant, soit dans les dossiers pour fichiers
                inclus. Vous auriez  diter ces arborescences suivant
                l'endroit o vous avez install SimpleTest.
                Le fichier &quot;autorun.php&quot; fait plus que juste inclure
                les lments de SimpleTest : il lance aussi les tests pour nous.  
            </p>
            <p>
                <code>TestOfLogging</code> est notre premier scnario de test
                et il est pour l'instant vide.
                Chaque scnario de test est une classe qui tend une des classes
                de base de SimpleTest. Nous pouvons avoir autant de classes de ce type
                que nous voulons.
            </p>
            <p>
                Avec ces trois lignes d'chafaudage
                l'inclusion de notre classe <code>Log</code>, nous avons une suite
                de tests. Mais pas encore de test !
            </p>
            <p>
                Pour notre premier test, supposons que la classe <code>Log</code>
                prenne le nom du fichier  crire au sein du constructeur,
                et que nous avons un rpertoire temporaire dans lequel placer
                ce fichier.
<php><![CDATA[
<?php
require_once('simpletest/autorun.php');
require_once('../classes/log.php');

class TestOfLogging extends UnitTestCase {
    function <strong>testLogCreatesNewFileOnFirstMessage()</strong> {
        @unlink('/temp/test.log');
        $log = new Log('/temp/test.log');
        <strong>$this->assertFalse(file_exists('/temp/test.log'));</strong>
        $log->message('Should write this to a file');
        <strong>$this->assertTrue(file_exists('/temp/test.log'));</strong>
    }
}
?>
]]></php>
                Au lancement du scnario de test, toutes les mthodes qui
                commencent avec la chane <code>test</code> sont
                identifies puis excutes.
                Si la mthode commence par <code>test</code>, c'est un test.
                Remarquez bien le nom trs long de notre exemple :
                <code>testLogCreatesNewFileOnFirstMessage()</code>.
                C'est bel et bien dlibr : ce style est considr dsirable
                et il rend la sortie du test plus lisible.
            </p>
            <p>
                D'ordinaire nous avons bien plusieurs mthodes de tests.
                Mais ce sera pour plus tard.
            </p>
            <p>
                Les assertions dans les
                mthodes de test envoient des messages vers le framework de
                test qui affiche immdiatement le rsultat. Cette rponse
                immdiate est importante, non seulement lors d'un crash
                caus par le code, mais aussi de manire  rapprocher
                l'affichage de l'erreur au plus prs du scnario de test
                concern via un appel  <code>print</code>code>.
            </p>
            <p>
                Pour voir ces rsultats lanons effectivement les tests.
                Aucun autre code n'est ncessaire, il suffit d'ouvrir
                la page dans un navigateur.
            </p>
            <p>
                En cas chec, l'affichage ressemble ...
                <div class="demo">
                    <h1>TestOfLogging</h1>
                    <span class="fail">Fail</span>: testcreatingnewfile-&gt;True assertion failed.<br />
                    <div style="padding: 8px; margin-top: 1em; background-color: red; color: white;">1/1 test cases complete.
                    <strong>1</strong> passes and <strong>1</strong> fails.</div>
                </div>
                ...et si a passe, on obtient...
                <div class="demo">
                    <h1>TestOfLogging</h1>
                    <div style="padding: 8px; margin-top: 1em; background-color: green; color: white;">1/1 test cases complete.
                    <strong>2</strong> passes and <strong>0</strong> fails.</div>
                </div>
                Et si vous obtenez a...
                <div class="demo">
                    <b>Fatal error</b>:  Failed opening required '../classes/log.php' (include_path='') in <b>/home/marcus/projects/lastcraft/tutorial_tests/Log/tests/log_test.php</b> on line <b>7</b>
                </div>
                c'est qu'il vous manque le fichier <em>classes/Log.php</em>
                qui pourrait ressembler  : 
<php><![CDATA[
<?php<strong>
class Log {
    function Log($file_path) {
    }

    function message() {
    }
}</strong>
?>
]]></php>
                C'est largement plus sympathique d'crire le code aprs le test.
                Plus que sympatique mme - cette technique s'appelle
                &quot;Dveloppement Pilot par les Tests&quot; ou 
                &quot;Test Driven Development&quot; en anglais.
            </p>
            <p>
                Pour plus de renseignements sur le testeur, voyez la
                <a local="unit_test_documentation">documentation pour les tests de rgression</a>.
            </p>
        </section>
        <section name="group" title="Construire des groupes de tests">
            <p>
                Il est peu probable que dans une vritable application on
                ait uniquement besoin de passer un seul scnario de test.
                Cela veut dire que nous avons besoin de grouper les
                scnarios dans un script de test qui peut, si ncessaire,
                lancer tous les tests de l'application.
            </p>
            <p>
                Notre premire tape est de crer un nouveau fichier appel
                <em>tests/all_tests.php</em> et d'y inclure le code suivant...
<php><![CDATA[
<?php
<strong>require_once('simpletest/autorun.php');</strong>

class AllTests extends <strong>TestSuite</strong> {
    function AllTests() {
        $this->TestSuite(<strong>'All tests'</strong>);
        <strong>$this->addFile('log_test.php');</strong>
    }
}
?>
]]></php>
                L'inclusion de &quot;autorun&quot; permettra  notre future suite
                de tests d'tre lance juste en invoquant ce script.
            </p>
            <p>
                La sous-classe <code>TestSuite</code> doit chaner
                son constructeur. Cette limitation sera supprime dans
                les versions  venir.   
            </p>
            <p>
                The method <code>TestSuite::addFile()</code>
                will include the test case file and read any new classes
                that are descended from <code>SimpleTestCase</code>.

                Cette mthode <code>TestSuite::addTestFile()</code> va
                inclure le fichier de scnarios de test et lire parmi
                toutes les nouvelles classes cres celles qui sont issues
                de <code>SimpleTestCase</code>.
                <code>UnitTestCase</code> est juste un exemple de classe drive
                depuis <code>SimpleTestCase</code> et vous pouvez crer les vtres.
                <code>TestSuite::addFile()</code> peut aussi inclure d'autres suites.
            </p>
            <p>
                La classe ne sera pas encore instancie.
                Quand la suite de tests est lance, elle construira chaque instance
                une fois le test atteint, et le dtuira juste ensuite.
                Cela veut dire que le constructeur n'est lanc qu'une fois avant
                chaque initialisation de ce scnario de test et que le destructeur
                est lui aussi lanc avant que le test suivant ne commence.
            </p>
            <p>
                Il est commun de grouper des scnarios de test dans des super-classes
                qui ne sont pas senses tre lances, mais qui deviennent une classe de base
                pour d'autres tests.
                Pour que &quot;autorun&quot; fonctionne proprement les fichiers
                des scnarios de test ne devraient pas lancer aveuglement
                d'autres extensions de scnarios de test qui ne lanceraient pas
                effectivement des tests.
                Cela pourrait aboutir  un mauvais comptages des scnarios de test
                pendant la procdure.
                Pas vraiement un problme majeure, mais pour viter cet inconvnient
                il suffit de marquer vos classes de base comme <code>abstract</code>.
                SimpleTest ne lance pas les classes abstraites. Et si vous utilisez encore
                PHP4 alors une directive <code>SimpleTestOptions::ignore()</code>
                dans votre fichier de scnario de test aura le mme effet.
            </p>
            <p>
                Par ailleurs, le fichier avec le scnario de test ne devrait pas
                avoir t inclus ailleurs. Sinon aucun scnario de test
                ne sera inclus  ce groupe.
                Ceci pourrait se transformer en un problme plus grave :
                si des fichiers ont dj t inclus par PHP alors la mthode
                <code>TestSuite::addFile()</code> ne les dtectera pas.
            </p>
            <p>
                Pour afficher les rsultats, il est seulement ncessaire
                d'invoquer <em>tests/all_tests.php</em>  partir du serveur
                web.
            </p>
            <p>
                Pour plus de renseignements des groupes de tests, voyez le
                <a local="group_test_documentation">documentation sur le groupement des tests</a>.
            </p>
        </section>
        <section name="mock" title="Utiliser les objets fantaisie">
            <p>
                Avanons un peu plus dans le futur.
            </p>
            <p>
                Supposons que notre class logging soit teste et termine.
                Supposons aussi que nous testons une autre classe qui ait
                besoin d'crire des messages de log, disons
                <code>SessionPool</code>. Nous voulons tester une mthode
                qui ressemblera probablement  quelque chose comme...
<php><![CDATA[<strong>
class SessionPool {
    ...
    function logIn($username) {
        ...
        $this->_log->message('User $username logged in.');
        ...
    }
    ...
}
</strong>
]]></php>
                Avec le concept de "rutilisation de code" comme fil
                conducteur, nous utilisons notre class <code>Log</code>. Un
                scnario de test classique ressemblera peut-tre ...
<php><![CDATA[
<?php
require_once('simpletest/autorun.php');
require_once('../classes/log.php');
<strong>require_once('../classes/session_pool.php');</strong>

class <strong>TestOfSessionLogging</strong> extends UnitTestCase {
    
    function setUp() {
        <strong>@unlink('/temp/test.log');</strong>
    }
    
    function tearDown() {
        <strong>@unlink('/temp/test.log');</strong>
    }
    
    function testLoggingInIsLogged() {
        <strong>$log = new Log('/temp/test.log');
        $session_pool = &new SessionPool($log);
        $session_pool->logIn('fred');</strong>
        $messages = file('/temp/test.log');
        $this->assertEqual($messages[0], "User fred logged in.<strong>\n</strong>");
    }
}
?>
]]></php>
                Nous expliquerons les mthodes <code>setUp()</code>
                et <code>tearDown()</code> plus tard.
            </p>
            <p>
                Le design de ce scnario de test n'est pas compltement
                mauvais, mais on peut l'amliorer. Nous passons du temps 
                tripoter les fichiers de log qui ne font pas partie de
                notre test.
                Pire, nous avons cr des liens de proximit
                entre la classe <code>Log</code> et ce test. Que se
                passerait-il si nous n'utilisions plus de fichiers, mais la
                bibliothque <em>syslog</em>  la place ?
                
                Cela veut dire que notre test <code>TestOfSessionLogging</code>
                enverra un chec alors mme qu'il ne teste pas Logging.
            </p>
            <p>
                Il est aussi fragile sur des petites retouches. Avez-vous
                remarqu le retour chariot supplmentaire  la fin du
                message ? A-t-il t ajout par le loggueur ? Et si il
                ajoutait aussi un timestamp ou d'autres donnes ?
            </p>
            <p>
                L'unique partie  tester rellement est l'envoi d'un
                message prcis au loggueur.
                Nous pouvons rduire le couplage en
                crant une fausse classe de logging : elle ne fait
                qu'enregistrer le message pour le test, mais ne produit
                aucun rsultat. Sauf qu'elle doit ressembler exactement 
                l'original.
            </p>
            <p>
                Si l'objet fantaisie n'crit pas dans un fichier alors nous
                nous pargnons la suppression du fichier avant et aprs le
                test. Nous pourrions mme nous pargner quelques lignes de
                code supplmentaires si l'objet fantaisie pouvait excuter
                l'assertion.
            <p>
            </p>
                Trop beau pour tre vrai ? Pas vraiement on peut crer un tel
                objet trs facilement...
<php><![CDATA[
<?php
require_once('simpletest/autorun.php');
require_once('../classes/log.php');
require_once('../classes/session_pool.php');

<strong>Mock::generate('Log');</strong>

class TestOfSessionLogging extends UnitTestCase {
    
    function testLoggingInIsLogged() {<strong>
        $log = &new MockLog();
        $log->expectOnce('message', array('User fred logged in.'));</strong>
        $session_pool = &new SessionPool(<strong>$log</strong>);
        $session_pool->logIn('fred');
    }
}
?>
]]></php>
                L'appel <code>Mock::generate()</code> a gnr
                une nouvelle classe appel <code>MockLog</code>.
                Cela ressemble  un clone identique, sauf que nous pouvons
                y adjoindre du code de test.
                C'est ce que fait <code>expectOnce()</code>.
                Cela dit que si <code>message()</code> m'est appel,
                il a intrt  l'tre avec le paramtre
                &quot;User fred logged in.&quot;.
            </p>
            <p>
                L'appel <code>tally()</code> est ncessaire pour annoncer 
                l'objet fantaisie qu'il n'y aura plus d'appels ultrieurs.
                Sans a l'objet fantaisie pourrait attendre pendant une
                ternit l'appel de la mthode sans jamais prvenir le
                scnario de test. Les autres tests sont dclenchs
                automatiquement quand l'appel  <code>message()</code> est
                invoqu sur l'objet <code>MockLog</code> par le code 
                <code>SessionPool::logIn()</code>.
                L'appel <code>mock</code> va dclencher une comparaison des
                paramtres et ensuite envoyer le message "pass" ou "fail"
                au test pour l'affichage. Des jokers peuvent tre inclus
                pour ne pas avoir  tester tous les paramtres d'un appel
                alors que vous ne souhaitez qu'en tester un.
            </p>
            <p>
                Les objets fantaisie dans la suite SimpleTest peuvent avoir
                un ensemble de valeurs de sortie arbitraires, des squences
                de sorties, des valeurs de sortie slectionnes  partir
                des arguments d'entre, des squences de paramtres
                attendus et des limites sur le nombre de fois qu'une
                mthode peut tre invoque.
            </p>
            <p>
                Pour que ce test fonctionne la librairie avec les objets
                fantaisie doit tre incluse dans la suite de tests, par
                exemple dans <em>all_tests.php</em>.
            </p>
            <p>
                Pour plus de renseignements sur les objets fantaisie, voyez le
                <a local="mock_objects_documentation">documentation sur les objets fantaisie</a>.
            </p>
        </section>
        <section name="web" title="Tester une page web">
            <p>
                Une des exigences des sites web, c'est qu'ils produisent
                des pages web. Si vous construisez un projet de A  Z et
                que vous voulez intgrer des tests au fur et  mesure alors
                vous voulez un outil qui puisse effectuer une navigation
                automatique et en examiner le rsultat. C'est le boulot
                d'un testeur web.
            </p>
            <p>
                Effectuer un test web via SimpleTest reste assez primitif :
                il n'y a pas de javascript par exemple.
                La plupart des autres oprations d'un navigateur sont simules.
            </p>
            <p>
                Pour vous donner une ide, voici un exemple assez trivial :
                aller chercher une page web,
                 partir de l naviguer vers la page "about"
                et finalement tester un contenu dtermin par le client.
<php><![CDATA[
<?php
require_once('simpletest/autorun.php');
<strong>require_once('simpletest/web_tester.php');</strong>

class TestOfAbout extends <strong>WebTestCase</strong> {
    function testOurAboutPageGivesFreeReignToOurEgo() {
        <strong>$this->get('http://test-server/index.php');
        $this->click('About');
        $this->assertTitle('About why we are so great');
        $this->assertText('We are really great');</strong>
    }
}
?>
]]></php>
                Avec ce code comme test de recette, vous pouvez vous
                assurer que le contenu corresponde toujours aux
                spcifications  la fois des dveloppeurs et des autres
                parties prenantes au projet.
            </p>
            <p>
                Vous pouvez aussi naviguer  travers des formulaires...
<php><![CDATA[
<?php
require_once('simpletest/autorun.php');
require_once('simpletest/web_tester.php');

class TestOfRankings extends WebTestCase {
    function testWeAreTopOfGoogle() {
        $this->get('http://google.com/');
        $this->setField('q', 'simpletest');
        $this->click("I'm Feeling Lucky");
        $this->assertTitle('SimpleTest - Unit Testing for PHP');
    }
}
?>
]]></php>
                ...mme si cela pourrait constituer une violation
                des documents juridiques de Google(tm).
            </p>
            <p>
                Pour plus de renseignements sur comment tester une page web, voyez la
                <a local="web_tester_documentation">documentation sur tester des scripts web</a>.
            </p>
            <p>
                <a href="http://sourceforge.net/projects/simpletest/"><img src="http://sourceforge.net/sflogo.php?group_id=76550&amp;type=5" width="210" height="62" border="0" alt="SourceForge.net Logo"/></a>
            </p>
        </section>
    </content>
    <internal>
        <link>
            <a href="#unit">Utiliser le testeur rapidement</a>
            avec un exemple.
        </link>
        <link>
            <a href="#group">Groupes de tests</a>
            pour tester en un seul clic.
        </link>
        <link>
            <a href="#mock">Utiliser les objets fantaisie</a>
            pour faciliter les tests et gagner en contrle.
        </link>
        <link>
            <a href="#web">Tester des pages web</a>
            au niveau de l'HTML.
        </link>
    </internal>
    <external>
        <link>
            <a href="https://sourceforge.net/project/showfiles.php?group_id=76550&amp;release_id=153280">Tlcharger PHP Simple Test</a>
            depuis <a href="http://sourceforge.net/projects/simpletest/">SourceForge</a>.
        </link>
        <link>
            L'<a href="http://simpletest.org/api/">API de SimpleTest pour dveloppeur</a>
            donne tous les dtails sur les classes et assertions existantes.
        </link>
    </external>
    <meta>
        <keywords>
            dveloppement logiciel,
            programmation php,
            outils de dveloppement logiciel,
            tutorial php,
            scripts php gratuits,
            architecture,
            ressources php,
            objets fantaise,
            junit,
            php testing,
            php unit,
            mthodologie,
            dveloppement pilot par les tests,
            sourceforge,
            open source,
            unit test,
            web tester,
            web testing,
            outils tests html,
            tester des web pages,
            php objets fantaise,
            naviguer automatiquement sur des sites web,
            test automatis,
            scripting web,
            wget,
            test curl,
            jmock pour php,
            jwebunit,
            phpunit,
            php unit testing,
            php web testing,
            jason sweat,
            marcus baker,
            perrick penet,
            topstyle plug in,
            phpedit plug in
        </keywords>
    </meta>
</page>

Youez - 2016 - github.com/yon3zu
LinuXploit