承接 kgabryel/test-tools 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

kgabryel/test-tools

最新稳定版本:1.0.0

Composer 安装命令:

composer require kgabryel/test-tools

包简介

Zestaw narzędzi testowych i helperów do PHPUnit

README 文档

README

PHP Version PHPUnit

Kgabryel/TestTools to biblioteka pomocnicza dla PHPUnit, która ułatwia tworzenie i konfigurację mocków.
Kluczową funkcjonalnością jest kontrola listy dozwolonych metod – w mockach można wywołać tylko te metody, które określimy, dzięki czemu przypadkowe wywołania nie powodują fałszywego sukcesu testu.

Spis treści

Instalacja

Przez Composer:

composer require --dev kgabryel/test-tools

Przykład wykorzystania

    class MyTest extends BaseTestCase
    {
        public function testExample(): void
        {
            $mock = $this->getMock(
                DummyClass::class,
                new AllowedMethodsList(),
                new ReturnsValueMethod('return1', null, 42),
                new VoidMethod('withException', null),
            );
        
            $this->assertSame(42, $mock->return1());
            $mock->withException();
        }
    }

Dodawanie własnej metody z handlerem

  1. Utwórz klasę metody z atrybutem #[Handler] wskazującym handler:
    #[Handler(MyCustomHandler::class)]
    class MyCustomMethod extends BaseMethod
    {
        // konstruktor, parametry, itp.
    }
  1. Stwórz handler dziedziczący po BaseHandler:
    class MyCustomHandler extends BaseHandler
    {
        protected function applyBehavior(InvocationStubber $mock): void
        {
            // dodatkowa konfiguracja
        }
    }
  1. Użycie w teście:
    class MyTest extends BaseTestCase
    {
        public function testExample(): void
        {
            $mock = $this->getMock(
                DummyClass::class,
                new AllowedMethodsList(),
                new MyCustomMethod('return1', null, 42),
            );
        }
    }

Handler automatycznie zostanie przypisany do metody dzięki atrybutowi #[Handler].

Struktura repozytorium

  • src/ – kod źródłowy biblioteki
  • tests/ – testy jednostkowe
  • tools/ – narzędzie i skrypty developerskie

Praca z repozytorium

git clone <repo-url> && cd <repo-folder> && composer install

Aby móc używać narzędzi developerskich:

cd tools && composer install

Skrypty developerskie

Skrypty w katalogu tools/ są przygotowane do uruchamiania w Dockerze, korzystają z kontenera PHP określonego w config.sh (domyślnie php).
Aby z nich korzystać:

  1. Stwórz plik konfiguracyjny tools/config.sh, bazując na tools/config.example.sh
# Nazwa kontenera PHP w Dockerze
PHP_CONTAINER="php"

# Ścieżka do katalogu projektu wewnątrz kontenera
PROJECT_DIR="/var/www/html/test-tools"
TOOLS_DIR="${PROJECT_DIR}/tools"
  1. Uruchamiaj skrypty z lokalnej konsoli, np.: ./tools/phpunit.sh

Skrypty pomocnicze

统计信息

  • 总下载量: 0
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-11-26