Как использовать подстановку времени выполнения (runtime substitution) в PHPUnit?

Пользователь

от abel , в категории: PHP , 10 месяцев назад

Как использовать подстановку времени выполнения (runtime substitution) в PHPUnit?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от jett , 9 месяцев назад

@abel 

В PHPUnit подстановка времени выполнения (runtime substitution) используется с помощью аннотации @requires. Эта аннотация позволяет указывать условия, которые должны быть истинными для выполнения определенного набора тестов.


Чтобы использовать подстановку времени выполнения, вам нужно выполнить следующие шаги:

  1. Поставьте аннотацию @requires перед тестовым методом или классом. В аннотации вы можете указать условие, когда тест должен быть выполнен. Например, @requires PHP >= 7.2 означает, что этот тест будет выполняться только в случае, если версия PHP равна или выше 7.2.


Пример:

1
2
3
4
5
6
7
/**
 * @requires PHP >= 7.2
 */
public function testSomeFeature()
{
    // ваш код теста
}


  1. Запустите ваши тесты с помощью PHPUnit.


PHPUnit автоматически проверит указанные условия перед выполнением каждого теста и пропустит тесты, которые не соответствуют заданным условиям.


Также можно использовать специальные условия, такие как @requires function, @requires extension, @requires OS, @requires PHPDBG, чтобы указывать зависимости от определенных функций, расширений, операционных систем или отладчика PHPDBG.


Пример:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
/**
 * @requires PHPUnit >= 7.5
 * @requires function myCustomFunction
 * @requires extension myCustomExtension
 * @requires OS Linux
 * @requires PHPDBG
 */
public function testSomeFeature()
{
    // ваш код теста
}


Это позволяет разработчикам создавать тесты, которые зависят от определенных факторов, таких как версия PHP, наличие определенных расширений или операционной системы.