30f0335f5f
Произошло так: при `composer require pestphp/pest pestphp/pest-plugin-laravel --dev --with-all-dependencies` я не зафиксировал `^3` — composer подтянул свежайшую Pest v4.7.0 + pest-plugin-laravel v4.1.0. Smoke-test (`./vendor/bin/pest`) на default-тестах Laravel 11 прошёл 2/2 за 281 ms — backward-compat с Pest 3 syntax подтверждён. Заказчик 08.05 (поздний вечер) принял Pest 4 после live-проверки на стеке. Бонус Pest 4: browser testing (без Dusk), stress testing, mutation testing v2. Откат дёшев — `composer require pestphp/pest:^3`. Что сделано: - composer remove phpunit/phpunit (был direct dev-dep) — phpunit остался как транзитивная зависимость Pest - composer require pestphp/pest:^4.7 pestphp/pest-plugin-laravel:^4.1 --dev - Pest.php создан через `vendor/bin/pest --init` (`tests/Pest.php`) - `vendor/bin/pest` smoke-test: 2 passed (Unit/Feature ExampleTest), 281 ms - `vendor/bin/pest --init` упал на интерактивном промпте «Wanna show Pest some love?» в non-interactive PowerShell — Pest.php к этому моменту уже создан, нефатально Reopen(CTO-12): по правилу «явная фиксация переоткрытий» обновлены 3 источника: - docs/Открытые_вопросы_v8_3.md v1.15→v1.16: блок «Что изменилось в v1.16», таблица §0 (CTO-12 переоткрыт+закрыт), запись §3 (Pest 4 + обоснование), финальный список §X (Pest 4) - docs/Tooling_v8_3.md v1.2→v1.3: блок «Что нового в v1.3», §3.1 п.4 (Pest 4 в boost:install), §3.4 строка 18 (Pest 4 + бонусы), §6 п.2 (конфликт Pest↔PHPUnit), §10.1 п.9 (процедура установки + warning про --init на Windows non-interactive) - CLAUDE.md v1.4→v1.5: §0 источники (Tooling v1.3, Реестр v1.16), §3.2 строка 18 (Pest 4), §7 п.5 (Pest 4 в boost:install), футер с историей версий Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
51 lines
1.6 KiB
PHP
51 lines
1.6 KiB
PHP
<?php
|
|
|
|
use Illuminate\Foundation\Testing\RefreshDatabase;
|
|
use Tests\TestCase;
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Test Case
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| The closure you provide to your test functions is always bound to a specific PHPUnit test
|
|
| case class. By default, that class is "PHPUnit\Framework\TestCase". Of course, you may
|
|
| need to change it using the "pest()" function to bind different classes or traits.
|
|
|
|
|
*/
|
|
|
|
pest()->extend(TestCase::class)
|
|
// ->use(RefreshDatabase::class)
|
|
->in('Feature');
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Expectations
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| When you're writing tests, you often need to check that values meet certain conditions. The
|
|
| "expect()" function gives you access to a set of "expectations" methods that you can use
|
|
| to assert different things. Of course, you may extend the Expectation API at any time.
|
|
|
|
|
*/
|
|
|
|
expect()->extend('toBeOne', function () {
|
|
return $this->toBe(1);
|
|
});
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Functions
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| While Pest is very powerful out-of-the-box, you may have some testing code specific to your
|
|
| project that you don't want to repeat in every file. Here you can also expose helpers as
|
|
| global functions to help you to reduce the number of lines of code in your test files.
|
|
|
|
|
*/
|
|
|
|
function something()
|
|
{
|
|
// ..
|
|
}
|