unit_test_documentation.html.svn-base

来自「PHP 知识管理系统(基于树结构的知识管理系统), 英文原版的PHP源码。」· SVN-BASE 代码 · 共 448 行 · 第 1/2 页

SVN-BASE
448
字号
                La partie "%s" est remplac茅e par le message d'erreur                par d茅faut qui aurait 茅t茅 affich茅 si nous n'avions pas fourni le n么tre.                Cela nous permet d'embo卯ter les messages de test.<pre><strong>$a = 1;$b = $a;$this-&gt;assertReference($a, $b);</strong></pre>                脡chouera 茅tant donn茅 que la variable <span class="new_code">$b</span>                est une copie de <span class="new_code">$a</span>.<pre><strong>$this-&gt;assertWantedPattern('/hello/i', 'Hello world');</strong></pre>                L脿, 莽a passe puisque la recherche est insensible                脿 la casse et que donc <span class="new_code">hello</span>                est bien rep茅rable dans <span class="new_code">Hello world</span>.<pre><strong>trigger_error('Disaster');trigger_error('Catastrophe');$this-&gt;assertError();$this-&gt;assertError('Catastrophe');$this-&gt;assertNoErrors();</strong></pre>                Ici, il y a besoin d'une petite explication :                toutes passent !            </p>            <p>                Les erreurs PHP dans SimpleTest sont pi茅g茅es et                plac茅es dans une queue. Ici la premi猫re v茅rification                d'erreur attrape le message "Disaster"                sans v茅rifier le texte et passe. R茅sultat :                l'erreur est supprim茅e de la queue.                La v茅rification suivante teste non seulement l'existence                de l'erreur mais aussi le texte qui correspond :                un autre succ猫s. D茅sormais la queue est vide                et le dernier test passe aussi.                Si une autre erreur non v茅rifi茅e est encore                dans la queue 脿 la fin de notre m茅thode de test                alors une exception sera rapport茅e dans le test.                Notez que SimpleTest ne peut pas attraper les erreurs PHP 脿 la compilation.            </p>            <p>                Les sc茅narios de test peuvent utiliser des m茅thodes                bien pratiques pour d茅boguer le code ou pour 茅tendre la suite...                <table><tbody>                    <tr><td><span class="new_code">setUp()</span></td><td>Est lanc茅e avant chaque m茅thode de test</td></tr>                    <tr><td><span class="new_code">tearDown()</span></td><td>Est lanc茅e apr猫s chaque m茅thode de test</td></tr>                    <tr><td><span class="new_code">pass()</span></td><td>Envoie un succ猫s</td></tr>                    <tr><td><span class="new_code">fail()</span></td><td>Envoie un 茅chec</td></tr>                    <tr><td><span class="new_code">error()</span></td><td>Envoi un 茅v猫nement exception</td></tr>                    <tr><td><span class="new_code">sendMessage()</span></td><td>Envoie un message d'茅tat aux syst猫mes d'affichage qui le supporte</td></tr>                    <tr><td><span class="new_code">signal($type, $payload)</span></td><td>Envoie un message d茅fini par l'utilisateur au rapporteur du test</td></tr>                    <tr><td><span class="new_code">dump($var)</span></td><td>Effectue un <span class="new_code">print_r()</span> format茅 pour du d茅boguage rapide et grossier</td></tr>                    <tr><td><span class="new_code">swallowErrors()</span></td><td>Vide les erreurs de la queue</td></tr>                </tbody></table>            </p>                <p><a class="target" name="extension_unitaire"><h2>Etendre les sc茅narios de test</h2></a></p>            <p>                Bien s没r des m茅thodes suppl茅mentaires de test                peuvent 锚tre ajout茅es pour cr茅er d'autres types                de sc茅nario de test afin d'茅tendre le framework...<pre>require_once('simpletest/autorun.php');<strong>class FileTester extends UnitTestCase {    function FileTester($name = false) {        $this-&gt;UnitTestCase($name);    }        function assertFileExists($filename, $message = '%s') {        $this-&gt;assertTrue(                file_exists($filename),                sprintf($message, 'File [$filename] existence check'));    }</strong>}</pre>                Ici la biblioth猫que SimpleTest est localis茅e                dans un r茅pertoire local appel茅 <em>simpletest</em>.                Pensez 脿 le modifier pour votre propre environnement.            </p>            <p>                Alternativement vous pourriez utiliser dans votre code                un directive <span class="new_code">SimpleTestOptions::ignore('FileTester');</span>.            </p>            <p>                Ce nouveau sc茅nario peut 锚tre h茅rit茅 exactement                comme un sc茅nario de test classique...<pre>class FileTestCase extends <strong>FileTester</strong> {        function setUp() {        @unlink('../temp/test.txt');    }        function tearDown() {        @unlink('../temp/test.txt');    }        function testCreation() {        $writer = &amp;new FileWriter('../temp/test.txt');        $writer-&gt;write('Hello');<strong>        $this-&gt;assertFileExists('../temp/test.txt');</strong>    }}</pre>            </p>            <p>                Si vous souhaitez un sc茅nario de test sans                toutes les assertions de <span class="new_code">UnitTestCase</span>                mais uniquement avec les v么tres propres,                vous aurez besoin d'茅tendre la classe                <span class="new_code">SimpleTestCase</span> 脿 la place.                Elle se trouve dans <em>simple_test.php</em>                en lieu et place de <em>unit_tester.php</em>.                A consulter <a href="group_test_documentation.html">plus tard</a>                si vous souhaitez incorporer les sc茅narios                d'autres testeurs unitaires dans votre suite de test.            </p>                <p><a class="target" name="lancement_unitaire"><h2>Lancer un unique sc茅nario de test</h2></a></p>            <p>                Ce n'est pas souvent qu'il faille lancer des sc茅narios                avec un unique test. Sauf lorsqu'il s'agit de s'arracher                les cheveux sur un module 脿 probl猫me sans pour                autant d茅sorganiser la suite de test principale.                Avec <em>autorun</em> aucun 茅chafaudage particulier                n'est n茅cessaire, il suffit de lancer votre test et                vous y 锚tes.            </p>            <p>                Vous pouvez m锚me d茅cider quel rapporteur                (par exemple, <span class="new_code">TextReporter</span> ou <span class="new_code">HtmlReporter</span>)                vous pr茅f茅rez pour un fichier sp茅cifique quand il est lanc茅                tout seul...<pre>&lt;?phprequire_once('simpletest/autorun.php');<strong>SimpleTest :: prefer(new TextReporter());</strong>require_once('../classes/writer.php');class FileTestCase extends UnitTestCase {    ...}?&gt;</pre>                Ce script sera lanc茅 tel que mais il n'y aura                aucun succ猫s ou 茅chec avant que des m茅thodes de test soient ajout茅es.            </p>            </div>        References and related information...        <ul><li>            La page de SimpleTest sur            <a href="http://sourceforge.net/projects/simpletest/">SourceForge</a>.        </li><li>            La page de t茅l茅chargement de SimpleTest sur            <a href="http://www.lastcraft.com/simple_test.php">LastCraft</a>.        </li><li>            <a href="http://simpletest.org/api/">L'API compl猫te de SimpleTest</a>            脿 partir de PHPDoc.        </li></ul><div class="menu_back"><div class="menu"><a href="index.html">SimpleTest</a>                |                <a href="overview.html">Overview</a>                |                <a href="unit_test_documentation.html">Unit tester</a>                |                <a href="group_test_documentation.html">Group tests</a>                |                <a href="mock_objects_documentation.html">Mock objects</a>                |                <a href="partial_mocks_documentation.html">Partial mocks</a>                |                <a href="reporter_documentation.html">Reporting</a>                |                <a href="expectation_documentation.html">Expectations</a>                |                <a href="web_tester_documentation.html">Web tester</a>                |                <a href="form_testing_documentation.html">Testing forms</a>                |                <a href="authentication_documentation.html">Authentication</a>                |                <a href="browser_documentation.html">Scriptable browser</a></div></div><div class="copyright">            Copyright<br>Marcus Baker 2006        </div></body></html>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?