Tests unitaires des types de paramètres de fonction PHP

PHPz
Libérer: 2024-04-20 09:06:02
original
531 Les gens l'ont consulté

En utilisant PHPUnit et l'annotation @dataProvider, vous pouvez tester unitairement les types de paramètres des fonctions PHP : Créez une classe de test. Utilisez @dataProvider pour fournir différents types de données. Dans la méthode de test, utilisez assertType() pour affirmer le type de paramètre.

PHP 函数参数类型的单元测试

Tests unitaires des types de paramètres de fonction PHP

Les tests unitaires sont le processus de vérification qu'une fonction ou une méthode fonctionne comme prévu. En PHP, vous pouvez utiliser la bibliothèque PHPUnit pour les tests unitaires.

Types de paramètres de fonction de test unitaire à l'aide de PHPUnit

  1. Créez une classe de test pour la fonction ou la méthode que vous souhaitez tester :
class MyFunctionTest extends \PHPUnit\Framework\TestCase
{
    public function testTypeHint()
    {
        // ...
    }
}
Copier après la connexion
  1. Utilisez l'annotation @dataProvider pour fournir une indication de type données de test : @dataProvider 注解来提供类型提示的测试数据:
/**
 * @dataProvider typeHintProvider
 */
public function testTypeHint()
{
    // ...
}

public function typeHintProvider()
{
    return [
        ['int', 1],
        ['string', 'foo'],
        ['array', []],
    ];
}
Copier après la connexion
  1. 在测试方法中,使用 $this->assertType() 断言参数的类型:
public function testTypeHint()
{
    $this->assertType($hint, $arg);
}
Copier après la connexion

实战案例

考虑以下函数:

function sum(int $a, int $b)
{
    return $a + $b;
}
Copier après la connexion

对应的单元测试:

class SumTest extends \PHPUnit\Framework\TestCase
{
    /**
     * @dataProvider typeHintProvider
     */
    public function testTypeHint($hint, $arg)
    {
        $this->assertType($hint, $arg);
    }

    public function typeHintProvider()
    {
        return [
            ['int', 1],
            ['int', '1'], // 失败,'1' 不是 int 类型
            ['string', 'foo'],
            ['array', []],
        ];
    }
}
Copier après la connexion

通过运行此单元测试,您可以验证函数 sum

rrreee
    🎜Dans la méthode de test, utilisez $this->assertType() pour affirmer le type du paramètre : 🎜🎜rrreee🎜🎜Pratique case🎜🎜🎜🎜Considérez la fonction suivante : 🎜🎜rrreee🎜🎜Le test unitaire correspondant : 🎜🎜rrreee🎜En exécutant ce test unitaire, vous pouvez vérifier que les types de paramètres de la fonction sum sont vérifiés comme prévu. 🎜

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal