group_test_documentation.html.svn-base
来自「PHP 知识管理系统(基于树结构的知识管理系统), 英文原版的PHP源码。」· SVN-BASE 代码 · 共 399 行 · 第 1/2 页
SVN-BASE
399 行
function FileGroupTest() { $this->GroupTest('All file tests'); $this->addTestFile('file_test.php'); } }</strong>?></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><?php require_once('file_group_test.php'); <strong> $test = &new FileGroupTest(); $test->run(new HtmlReporter());</strong>?></pre> ...ou alors nous pouvons les grouper dans un groupe de tests encore plus grand...<pre><?php require_once('file_group_test.php'); <strong> $test = &new BigGroupTest('Big group'); $test->addTestCase(new FileGroupTest()); $test->addTestCase(...); $test->run(new HtmlReporter());</strong>?></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><?php class FileGroupTest extends GroupTest { function FileGroupTest() { $this->GroupTest('All file tests'); $test->addTestFile('file_test.php'); } } <strong> if (! defined('RUNNER')) { define('RUNNER', true);</strong> $test = &new FileGroupTest(); $test->run(new HtmlReporter()); }?></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><?php define('RUNNER', true); require_once('file_group_test.php'); $test = &new BigGroupTest('Big group'); $test->addTestCase(new FileGroupTest()); $test->addTestCase(...); $test->run(new HtmlReporter());?></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> <?php define('RUNNER', true); $test = &new BigGroupTest('Big group');<strong> $test->addTestFile('file_group_test.php'); $test->addTestFile(...);</strong> $test->run(new HtmlReporter()); ?> </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->TestCase('Config file test'); } function testContents() { $config = new ConfigFile('test.conf'); $this->assertRegexp('/me/', $config->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><?php require_once('simpletest/unit_tester.php'); require_once('simpletest/reporter.php');<strong> require_once('simpletest/adapters/phpunit_test_case.php');</strong> $test = &new GroupTest('All file tests');<strong> $test->addTestFile('config_test.php');</strong> $test->run(new HtmlReporter());?></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><?php require_once('simpletest/unit_tester.php'); require_once('simpletest/reporter.php');<strong> require_once('simpletest/adapters/pear_test_case.php');</strong> $test = &new GroupTest('All file tests');<strong> $test->addTestFile('some_pear_test_cases.php');</strong> $test->run(new HtmlReporter());?></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 + -
显示快捷键?