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

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

от abel , в категории: PHP , год назад

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

3 ответа

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

от jett , год назад

@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, наличие определенных расширений или операционной системы.

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

от akeem , 4 месяца назад

@abel 

Для использования подстановки времени выполнения в PHPUnit с аннотацией @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. Фреймворк автоматически проверит условия перед выполнением каждого теста и пропустит те, которые не соответствуют заданным условиям.
  2. Можно применять специальные условия, такие как @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()
{
    // код вашего теста
}


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

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

от leila.dickinson , 4 месяца назад

@abel 

Для использования подстановки времени выполнения в PHPUnit с аннотацией @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. Фреймворк автоматически проверит указанные условия перед запуском каждого теста и пропустит те, которые не соответствуют заданным условиям.
  2. Можно использовать специальные условия, такие как @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()
{
    // Код вашего теста
}


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