Comment effectuer des tests unitaires et une analyse de couverture de code en PHP ?
Dans le développement de logiciels, les tests unitaires et l'analyse de la couverture du code sont des outils importants pour améliorer la qualité et la fiabilité du code. Dans le développement PHP, grâce aux tests unitaires et à l'analyse de la couverture du code, les défauts du code peuvent être découverts et réparés efficacement, et la maintenabilité et la testabilité du code peuvent être améliorées.
composer require --dev phpunit/phpunit
Une fois l'installation terminée, PHPUnit sera installé dansvendor/bin
répertoire.vendor/bin
目录下。
例如,假设有一个计算器类Calculator
,其中有一个加法方法add()
,可以对两个数字进行加法运算。可以编写一个测试用例来验证该方法的正确性。
use PHPUnitFrameworkTestCase; class CalculatorTest extends TestCase { public function testAdd() { $calculator = new Calculator(); $result = $calculator->add(2, 3); $this->assertEquals(5, $result); } }
在测试用例中,首先创建了一个Calculator
对象,然后调用add()
方法对两个数字进行加法运算,并使用断言assertEquals()
来判断计算结果是否与期望值相等。
./vendor/bin/phpunit
PHPUnit会自动查找并执行项目中的测试用例。在测试完成后,会输出测试结果,包括测试通过的用例数、失败的用例数以及详细的错误信息。
在PHPUnit中,可以使用--coverage-html
参数来生成代码覆盖率报告。在命令行工具中,执行以下命令:
./vendor/bin/phpunit --coverage-html coverage
上述命令会在项目根目录下生成一个名为coverage
的文件夹,其中包含了代码覆盖率报告。可以通过浏览器打开index.html
La rédaction de cas de tests est une étape clé des tests unitaires. Un scénario de test comprend généralement la fonction cible ou la méthode de classe à tester ainsi que le résultat ou le comportement attendu. Lors de la rédaction de scénarios de test, vous devez couvrir différentes situations d'entrée et conditions aux limites pour découvrir autant que possible les défauts potentiels.
Par exemple, supposons qu'il existe une classe de calculatriceCalculator
, qui a une méthode d'addition
add()
qui peut ajouter deux nombres Effectuer des opérations d'addition. Un cas de test peut être écrit pour vérifier l’exactitude de la méthode. ##rrreee##Dans le cas de test, un objet
Calculator
est d'abord créé, puis la méthode
add()
est appelée pour ajouter deux nombres, et Utilisez l'assertion
assertEquals()
pour déterminer si le résultat du calcul est égal à la valeur attendue. ##
--coverage-html
pour générer un rapport de couverture de code. Dans l'outil de ligne de commande, exécutez la commande suivante : ##rrreee##La commande ci-dessus générera un dossier nommé
coverage
dans le répertoire racine du projet, qui contient le rapport de couverture de code. Vous pouvez consulter le rapport en ouvrant
index.html
dans votre navigateur. ####Le rapport de couverture de code affichera la couverture de chaque fichier et de chaque fonction, ainsi que le nombre de lignes de code qui ne sont pas couvertes. En affichant le rapport de couverture du code, vous pouvez découvrir des parties du code qui ne sont pas couvertes par les scénarios de test, puis améliorer les scénarios de test. ####Grâce aux étapes ci-dessus, vous pouvez effectuer des tests unitaires et une analyse de couverture de code en PHP pour améliorer la qualité et la fiabilité du code. En écrivant des cas de test complets et en analysant la couverture du code, les problèmes potentiels peuvent être découverts et résolus à temps pour garantir l'exactitude et la maintenabilité du code. ##
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!