PHPUnit

ΠŸΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½Ρ‹ΠΉ стандарт

Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ для тСстирования PHP с возмоТностями ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ тСстирования для Π½Π°Π΄Π΅ΠΆΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

85%
Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ владСния
5+ Π»Π΅Ρ‚
ΠžΠΏΡ‹Ρ‚ с PHPUnit 6
v10.4+
ВСкущая вСрсия

О PHPUnit

PHPUnit β€” это ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½Ρ‹ΠΉ стандарт Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° для тСстирования PHP, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ комплСксный Π½Π°Π±ΠΎΡ€ инструмСнтов для написания ΠΈ запуска ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹Ρ… тСстов. Как Π΄Π΅-Ρ„Π°ΠΊΡ‚ΠΎ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ для тСстирования PHP, PHPUnit позволяСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹Π΅, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ тСсты, слСдуя Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΎΠΌΡƒ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ xUnit.

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ прСимущСства

  • ΠŸΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½Ρ‹ΠΉ стандарт β€” НаиболСС ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ для тСстирования Π² экосистСмС PHP
  • ΠšΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½Ρ‹Π΅ утвСрТдСния β€” ΠžΠ±ΡˆΠΈΡ€Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² утвСрТдСния для всСх тСстовых сцСнариСв
  • ВСстовыС Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚Ρ‹ β€” ΠœΠΎΡ‰Π½Ρ‹Π΅ возмоТности мокирования ΠΈ Π·Π°Π³Π»ΡƒΡˆΠ΅ΠΊ с тСстовыми Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚Π°ΠΌΠΈ
  • ΠŸΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… β€” Π“ΠΈΠ±ΠΊΠΎΠ΅ тСстированиС Π½Π° основС Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…
  • ΠŸΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΊΠΎΠ΄Π° β€” ВстроСнный Π°Π½Π°Π»ΠΈΠ· покрытия ΠΊΠΎΠ΄Π° ΠΈ ΠΎΡ‚Ρ‡Π΅Ρ‚Π½ΠΎΡΡ‚ΡŒ
  • Π Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΠ°Ρ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° β€” ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ утвСрТдСния, ΡΠ»ΡƒΡˆΠ°Ρ‚Π΅Π»ΠΈ ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ
  • Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с IDE β€” ΠžΡ‚Π»ΠΈΡ‡Π½Π°Ρ интСграция с PHPStorm, VSCode ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ IDE

Ѐилософия тСстирования

PHPUnit слСдуСт установлСнным ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌ тСстирования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния:

  • ВСсты Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈ нСзависимыми
  • Π’Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, Π° Π½Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ
  • Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ Arrange-Act-Assert
  • ΠŸΠΈΡΠ°Ρ‚ΡŒ тСсты ΠΏΠ΅Ρ€Π²Ρ‹ΠΌΠΈ с Test-Driven Development
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ высокоС ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ тСстов для критичСских ΠΏΡƒΡ‚Π΅ΠΉ
  • ВСсты Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ быстрыми, Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΌΠΈ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΌΠΈ

Мой ΠΏΡƒΡ‚ΡŒ Π² PHPUnit

Π― Π½Π°Ρ‡Π°Π» ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ PHPUnit Π² 2017 Π³ΠΎΠ΄Ρƒ с PHPUnit 6, внСдряя ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ‡Π΅Ρ€Π΅Π· тСстированиС Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…. Π—Π° Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ 5 Π»Π΅Ρ‚ я ΠΏΡ€ΠΎΡˆΠ΅Π» ΠΏΡƒΡ‚ΡŒ ΠΎΡ‚ написания Π±Π°Π·ΠΎΠ²Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹Ρ… тСстов Π΄ΠΎ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ комплСксных Π½Π°Π±ΠΎΡ€ΠΎΠ² тСстов для ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ обучСния ΠΊΠΎΠΌΠ°Π½Π΄ Π»ΡƒΡ‡ΡˆΠΈΠΌ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°ΠΌ тСстирования.

ΠšΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ тСстированиС

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π» комплСксныС Π½Π°Π±ΠΎΡ€Ρ‹ тСстов для ΠΊΡ€ΡƒΠΏΠ½ΠΎΠΌΠ°ΡΡˆΡ‚Π°Π±Π½Ρ‹Ρ… ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ со слоТной бизнСс-Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ ΠΈ трСбованиями ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ.

ЛидСрство Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅

ΠžΠ±ΡƒΡ‡Π°Π» ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ мСтодологиям тСстирования, стандартам покрытия ΠΊΠΎΠ΄Π° ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°ΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ‡Π΅Ρ€Π΅Π· тСстированиС.

Мой ΠΎΠΏΡ‹Ρ‚ с PHPUnit

ИмСя Π±ΠΎΠ»Π΅Π΅ 5 Π»Π΅Ρ‚ ΠΎΠΏΡ‹Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ с PHPUnit, я Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π» стратСгии тСстирования ΠΏΠΎ всСму спСктру PHP-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΎΡ‚ простых Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Π΄ΠΎ слоТных ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… систСм, постоянно достигая высокого покрытия ΠΊΠΎΠ΄Π° ΠΈ надСТности тСстов.

Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π½Π°Π²Ρ‹ΠΊΠΈ

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ‡Π΅Ρ€Π΅Π· тСстированиС (TDD)
Мок-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ тСстовыС Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚Ρ‹
ΠŸΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ тСсты Π½Π° основС Π΄Π°Π½Π½Ρ‹Ρ…
Анализ покрытия ΠΊΠΎΠ΄Π°
ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ утвСрТдСния ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ
ВСстированиС Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ фикстуры
API ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ тСстированиС
ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° тСстов
ВСстированиС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ
Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с CI/CD
ВСстированиС legacy-ΠΊΠΎΠ΄Π°
Π›ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ тСстирования

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ тСстовыС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹

  • ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° финансовых услуг β€” ΠšΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ тСстов с ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ΠΌ ΠΊΠΎΠ΄Π° 85%+
  • ΠœΠΈΠ³Ρ€Π°Ρ†ΠΈΡ e-commerce β€” Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ legacy-ΠΊΠΎΠ΄Π° Ρ‡Π΅Ρ€Π΅Π· тСстированиС
  • API микросСрвисы β€” Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ тСстированиС ΠΌΠ΅ΠΆΠ΄Ρƒ нСсколькими сСрвисами
  • Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Laravel β€” ПолноС ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ тСстов для open-source ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²
  • ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° обучСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ β€” Π›ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ PHPUnit ΠΈ Π²ΠΎΡ€ΠΊΡˆΠΎΠΏΡ‹ ΠΏΠΎ TDD

ΠŸΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Π΅ возмоТности PHPUnit

ΠŸΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ тСстирования

ЭкспСртиза Π² ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Ρ… возмоТностях PHPUnit ΠΈ мСтодологиях тСстирования:

ВСстовыС Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚Ρ‹ ΠΈ ΠΌΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠΎΠΊ-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π·Π°Π³Π»ΡƒΡˆΠ΅ΠΊ ΠΈ тСстовых Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚ΠΎΠ² для изоляции ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΈ тСстирования слоТных зависимостСй.

ВСстированиС Π½Π° основС Π΄Π°Π½Π½Ρ‹Ρ…

ИспользованиС ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… для комплСксного покрытия тСстов с мноТСствСнными сцСнариями Π²Π²ΠΎΠ΄Π° ΠΈ Π³Ρ€Π°Π½ΠΈΡ‡Π½Ρ‹ΠΌΠΈ случаями.

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ утвСрТдСния

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠΉ для слоТной бизнСс-Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ.

Π‘Π»ΡƒΡˆΠ°Ρ‚Π΅Π»ΠΈ тСстов

РСализация ΡΠ»ΡƒΡˆΠ°Ρ‚Π΅Π»Π΅ΠΉ тСстов для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ отчСтности, логирования ΠΈ управлСния ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΌ Ρ†ΠΈΠΊΠ»ΠΎΠΌ выполнСния тСстов.

ΠœΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ тСстирования

ΠšΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½Ρ‹Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ ΠΊ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ с PHPUnit:

ΠœΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ΅ тСстированиС Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ тСстированиС Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ тСстированиС ВСстированиС Π‘Π” ВСстированиС API ВСстированиС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ

ΠŸΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΈ качСство

Π‘Ρ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΠΈ покрытия ΠΊΠΎΠ΄Π°

РСализация Π·Π½Π°Ρ‡ΠΈΠΌΠΎΠ³ΠΎ покрытия ΠΊΠΎΠ΄Π° с PHPUnit:

  • ΠŸΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ строк β€” ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΠ΅ выполнСния всСх ΠΏΡƒΡ‚Π΅ΠΉ ΠΊΠΎΠ΄Π°
  • ΠŸΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Π²Π΅Ρ‚Π²Π΅ΠΉ β€” ВСстированиС всСх Ρ‚ΠΎΡ‡Π΅ΠΊ принятия Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ Π² ΠΊΠΎΠ΄Π΅
  • ΠŸΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΏΡƒΡ‚Π΅ΠΉ β€” ΠžΡ…Π²Π°Ρ‚ всСх Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΏΡƒΡ‚Π΅ΠΉ выполнСния
  • ΠœΡƒΡ‚Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ тСстированиС β€” ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΠ΅ возмоТности тСстов ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Ρ‚ΡŒ измСнСния ΠΊΠΎΠ΄Π°

ΠœΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ качСства

ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ качСства тСстов:

ΠžΡ‚Ρ‡Π΅Ρ‚Ρ‹ ΠΎ ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ тСстов
ВрСмя выполнСния тСстов
Анализ ΠΏΠ°Π΄Π΅Π½ΠΈΠΉ тСстов
Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ Π½Π΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… тСстов
ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΡΡ‚ΡŒ тСстов
ΠœΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ слоТности ΠΊΠΎΠ΄Π°

Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с инструмСнтами качСства

Xdebug PHPStan Psalm Infection PHP SonarQube CodeClimate

Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ владСния

ΠžΠ±Ρ‰Π΅Π΅ Π²Π»Π°Π΄Π΅Π½ΠΈΠ΅ 85%
ΠœΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ΅ тСстированиС 88%
Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ тСстированиС 82%
АрхитСктура тСстов 83%
ΠŸΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΊΠΎΠ΄Π° 80%

БыстрыС Ρ„Π°ΠΊΡ‚Ρ‹

ΠžΠΏΡ‹Ρ‚: 5+ Π»Π΅Ρ‚
ВСрсия: PHPUnit 10.4+
ΠŸΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹: 30+
Написано тСстов: 2000+
ΠŸΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΊΠΎΠ΄Π°: 85%+ Π² срСднСм

НуТна экспСртиза Π² тСстировании?

Π“ΠΎΡ‚ΠΎΠ² ΠΎΠ±ΡΡƒΠ΄ΠΈΡ‚ΡŒ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ PHPUnit

Π‘Π²ΡΠ·Π°Ρ‚ΡŒΡΡ со ΠΌΠ½ΠΎΠΉ