Как использовать пропуск теста (test skipping) в PHPUnit?

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

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

Как использовать пропуск теста (test skipping) в PHPUnit?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

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

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

@guillermo 

В PHPUnit можно использовать аннотацию @skip для пропуска выполнения определенного теста. Это может быть полезно, когда тест не совместим с текущим состоянием системы или необходимо отложить его выполнение до будущих изменений кода.


Пример использования @skip аннотации:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class MyTest extends PHPUnitFrameworkTestCase
{
    /**
     * @test
     * @skip Test is currently unstable
     */
    public function testSomething()
    {
        // Тестируемая логика...
    }

    /**
     * @test
     */
    public function testAnotherThing()
    {
        if (!extension_loaded('some_extension')) {
            $this->markTestSkipped('some_extension is not available');
        }

        // Тестируемая логика...
    }
}


В первом примере тест testSomething будет пропущен при выполнении, а во втором примере тест testAnotherThing будет пропущен, если расширение some_extension не загружено.


Также, можно использовать метод markTestSkipped($message) для пропуска теста внутри его кода.