group_test_documentation.html.svn-base

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

SVN-BASE
399
字号
        function FileGroupTest() {            $this-&gt;GroupTest('All file tests');            $this-&gt;addTestFile('file_test.php');        }    }</strong>?&gt;</pre>                Ceci nomme le test dans le constructeur                et ensuite ajoute 脿 la fois nos sc茅narios                de test et un unique groupe en dessous.                Bien s没r nous pouvons ajouter plus d'un groupe 脿 cet instant.                Nous pouvons maintenant invoquer les tests                脿 partir d'un autre fichier d'ex茅cution...<pre>&lt;?php    require_once('file_group_test.php');    <strong>    $test = &amp;new FileGroupTest();    $test-&gt;run(new HtmlReporter());</strong>?&gt;</pre>                ...ou alors nous pouvons les grouper                dans un groupe de tests encore plus grand...<pre>&lt;?php    require_once('file_group_test.php');    <strong>    $test = &amp;new BigGroupTest('Big group');    $test-&gt;addTestCase(new FileGroupTest());    $test-&gt;addTestCase(...);    $test-&gt;run(new HtmlReporter());</strong>?&gt;</pre>                Si nous souhaitons lancer le groupe de tests original                sans utiliser ses petits fichiers d'ex茅cution,                nous pouvons mettre le code du lanceur de test                derri猫re des barreaux quand nous cr茅ons chaque groupe.<pre>&lt;?php    class FileGroupTest extends GroupTest {        function FileGroupTest() {            $this-&gt;GroupTest('All file tests');            $test-&gt;addTestFile('file_test.php');        }    }    <strong>    if (! defined('RUNNER')) {        define('RUNNER', true);</strong>        $test = &amp;new FileGroupTest();        $test-&gt;run(new HtmlReporter());    }?&gt;</pre>                Cette approche exige aux barri猫res d'锚tre activ茅es                脿 l'inclusion du fichier de groupe de tests,                mais c'est quand m锚me moins de tracas que beaucoup                de fichiers de lancement 茅parpill茅s.                Reste 脿 inclure des barreaux identiques                au niveau sup茅rieur afin de s'assurer que                le <span class="new_code">run()</span> ne sera lanc茅 qu'une seule fois                脿 partir du script de haut niveau qui l'a invoqu茅.<pre>&lt;?php    define('RUNNER', true);    require_once('file_group_test.php');    $test = &amp;new BigGroupTest('Big group');    $test-&gt;addTestCase(new FileGroupTest());    $test-&gt;addTestCase(...);    $test-&gt;run(new HtmlReporter());?&gt;</pre>                Comme les sc茅narios de test normaux,                un <span class="new_code">GroupTest</span> peut 锚tre charg茅 avec la m茅thode                <span class="new_code">GroupTest::addTestFile()</span>.<pre>  &lt;?php       define('RUNNER', true);             $test = &amp;new BigGroupTest('Big group');<strong>     $test-&gt;addTestFile('file_group_test.php');      $test-&gt;addTestFile(...);</strong>       $test-&gt;run(new HtmlReporter()); ?&gt;  </pre>            </p>                <p><a class="target" name="heritage"><h2>Int茅grer des sc茅narios de test h茅rit茅s</h2></a></p>            <p>                Si vous avez d茅j脿 des tests unitaires pour votre code                ou alors si vous 茅tendez des classes externes                qui ont d茅j脿 leurs propres tests, il y a peu de chances                pour que ceux-ci soient d茅j脿 au format SimpleTest.                Heureusement il est possible d'incorporer ces sc茅narios                de test en provenance d'autres testeurs unitaires                directement dans des groupes de test SimpleTest.            </p>            <p>                Par exemple, supposons que nous ayons                ce sc茅nario de test pr茅vu pour                <a href="http://sourceforge.net/projects/phpunit">PhpUnit</a>                dans le fichier <em>config_test.php</em>...<pre><strong>class ConfigFileTest extends TestCase {    function ConfigFileTest() {        $this-&gt;TestCase('Config file test');    }        function testContents() {        $config = new ConfigFile('test.conf');        $this-&gt;assertRegexp('/me/', $config-&gt;getValue('username'));    }}</strong></pre>                Le groupe de tests peut le reconna卯tre 脿 partir                du moment o霉 nous mettons l'adaptateur appropri茅                avant d'ajouter le fichier de test...<pre>&lt;?php    require_once('simpletest/unit_tester.php');    require_once('simpletest/reporter.php');<strong>    require_once('simpletest/adapters/phpunit_test_case.php');</strong>    $test = &amp;new GroupTest('All file tests');<strong>    $test-&gt;addTestFile('config_test.php');</strong>    $test-&gt;run(new HtmlReporter());?&gt;</pre>                Il n'y a que deux adaptateurs,                l'autre est pour le paquet testeur unitaire de                <a href="http://pear.php.net/manual/en/package.php.phpunit.php">PEAR</a>...<pre>&lt;?php    require_once('simpletest/unit_tester.php');    require_once('simpletest/reporter.php');<strong>    require_once('simpletest/adapters/pear_test_case.php');</strong>    $test = &amp;new GroupTest('All file tests');<strong>    $test-&gt;addTestFile('some_pear_test_cases.php');</strong>    $test-&gt;run(new HtmlReporter());?&gt;</pre>                Les sc茅narios de test de PEAR peuvent 锚tre                librement m茅lang茅s avec ceux de SimpleTest                mais vous ne pouvez pas utiliser les assertions                de SimpleTest au sein des versions h茅rit茅es                des sc茅narios de test. La raison ?                Une simple v茅rification que vous ne rendez pas                par accident vos sc茅narios de test compl猫tement                d茅pendants de SimpleTest.                Peut-锚tre que vous souhaitez publier                votre biblioth猫que sur PEAR par exemple :                莽a voudrait dire la livrer avec des sc茅narios de                test compatibles avec PEAR::PhpUnit.            </p>            </div>        References and related information...        <ul><li>            La page du projet 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></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 + -
显示快捷键?