Привычный ООП
Тесты — это классы без наследования от TestCase или функции. Код остаётся чистым.
🚧 В разработке
Testo находится в фазе активной разработки и пока не готов для продакшена. Можно поиграться и поэкспериментировать, но полагаться на него пока не стоит.
Хотите поддержать? Поставьте звёздочку или станьте спонсором.
Функции проверок разбиты на семантические группы:
Assert:: — утверждения, выполняются сразуExpect:: — ожидания, откладываются до завершения тестаПайповый синтаксис с группировкой по типу делает код лаконичным и типобезопасным.
use Testo\Assert;
// Пайповые ассерты — группировка по типу
Assert::string($email)->contains('@');
Assert::int($age)->greaterThan(18);
Assert::file('config.php')->exists();
Assert::array($order->items)
->allOf(Item::class)
->hasCount(3);Пишите тесты так, как удобно вам.
// Явное объявление теста в методе с атрибутом #[Test]
final class OrderTest
{
#[Test]
public function createsOrderWithItems(): void
{
$order = new Order();
$order->addItem(new Product('Bread'));
Assert::int($order->itemCount())->equals(1);
}
}Нативный плагин для PhpStorm и IntelliJ IDEA.
Весь привычный функционал: запуск и перезапуск из gutter-иконок, навигация между тестами и кодом, отладка с брейкпоинтами, генерация тестов, дерево результатов.
Get Plugin 127