kgabryel/test-tools
最新稳定版本:1.0.0
Composer 安装命令:
composer require kgabryel/test-tools
包简介
Zestaw narzędzi testowych i helperów do PHPUnit
README 文档
README
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
- Przykład wykorzystania
- Dodawanie własnej metody z handlerem
- Struktura repozytorium
- Praca z repozytorium
- Skrypty developerskie
- Skrypty pomocnicze
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
- Utwórz klasę metody z atrybutem #[Handler] wskazującym handler:
#[Handler(MyCustomHandler::class)]
class MyCustomMethod extends BaseMethod
{
// konstruktor, parametry, itp.
}
- Stwórz handler dziedziczący po BaseHandler:
class MyCustomHandler extends BaseHandler { protected function applyBehavior(InvocationStubber $mock): void { // dodatkowa konfiguracja } }
- 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 bibliotekitests/– testy jednostkowetools/– 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ć:
- Stwórz plik konfiguracyjny
tools/config.sh, bazując natools/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"
- Uruchamiaj skrypty z lokalnej konsoli, np.: ./tools/phpunit.sh
Skrypty pomocnicze
code-coverage.sh– generowanie raportu pokrycia testami - wygenerowany raport: tools/var/infection.txt & tools/var/code-coverage/index.htmlcs-fixer.sh– dodatkowy fixer koduPHP-CS-Fixerinfection.sh– mutacje testówInfection- wygenerowany raport: tools/var/infection.txt & tools/var/infection.htmlphpcbf.sh– automatyczna poprawa koduPHP_CodeSnifferphpcs.sh– sprawdza standardy koduPHP_CodeSnifferphpmd.sh– analiza kodu źródłowegoPHP Mess Detector- wygenerowany raport: tools/var/phpmd.htmlphpmd-tests.sh– analiza kodu testówPHP Mess Detector- wygenerowany raport: tools/var/phpmd-tests.htmlphpstan.sh– analiza statyczna koduPHPStanphpunit.sh– uruchamia testy jednostkowe, integracyjne i funkcjonalnePHPUnit
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-11-26