该软件包最新版本(3.0.0)没有可用的许可证信息。

3.0.0 2023-11-09 17:56 UTC

This package is auto-updated.

Last update: 2024-09-12 21:37:21 UTC


README

PHP Test Groups 库是一个用于满足分组测试要求的库。

文档

与其实施和用法一样,它非常简单。

安装

您可以通过 composer 安装此库

Ainda não temos uma versão estável!

如果您在项目中不使用 Composer,您可以将 dist/ 目录下的 php-test-groups.php 文件复制到项目的根目录,在这种情况下,要编写测试,您需要在同一处 require php-test-groups.php 文件。

基本用法

测试文件识别 PHP Test Groups 库通过 .test 子扩展名识别测试文件。例如,如果您有一个名为 unitary-test.uni.test.php 的文件,它将被视为测试组 uni 的部分,uni 是 unitários 的缩写。

执行测试

要执行所有测试,您可以使用以下命令

php ./bin/php-test-groups

要执行特定组(如单元测试)的测试,您可以使用以下命令


php ./bin/php-test-groups uni

主要方法

PHP Test Groups 库提供了以下主要方法来编写测试

describe($description, $callback) describe 方法用于描述一个测试组,通常用于将相关测试分组。示例


describe("Testes de Login", function() {
    // Aqui você escreve seus testes de login
});

it($description, $callback) it 方法用于描述组内的特定测试。示例


describe("Testes de Login", function() {
    it("deve autenticar um usuário", function() {
        // Seu código de teste aqui
    });
});

assertEquals($expected, $actual) assertEquals 方法用于检查 $actual 值是否等于 $expected 值。示例


describe("Testes de Soma", function() {
    it("deve somar dois números corretamente", function() {
        $resultado = soma(2, 3);
        assertEquals(5, $resultado);
    });
});

assertStrict($expected, $actual) assertStrict 方法用于检查 $actual 值是否严格等于 $expected 值,包括类型。示例


describe("Testes de Tipo", function() {
    it("deve verificar tipos estritos", function() {
        $valor = 42;
        assertStrict(42, $valor); // Passará no teste
        assertStrict("42", $valor); // Falhará no teste devido ao tipo
    });
});

示例

以下是使用 PHP Test Groups 库在 PHP 中编写测试的一些示例


describe("Testes de Matemática", function() {
    it("deve multiplicar dois números corretamente", function() {
        $resultado = multiplicar(4, 5);
        assertEquals(20, $resultado);
    });

    it("deve verificar tipos estritos", function() {
        $valor = 42;
        assertStrict(42, $valor); // Passará no teste
        assertStrict("42", $valor); // Falhará no teste devido ao tipo
    });
});