Как написать тест в yii2?

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

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

Как написать тест в yii2?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

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

@rebekah 

Для написания тестов в Yii2 используется встроенный в фреймворк PHPUnit. Чтобы написать тест, выполните следующие шаги:

  1. Создайте тестовый класс в директории tests с расширением Test.php (например, MyTest.php).
  2. В тестовом классе создайте методы, в которых будут описаны тесты.
  3. В каждом методе используйте функции PHPUnit для проведения теста (assertEquals, assertTrue, и т.д.).
  4. Запустите тесты с помощью команды "php vendor/bin/phpunit".


Пример написания теста для проверки корректности работы функции:

1
2
3
4
5
6
7
8
class MyTest extends PHPUnitFrameworkTestCase
{
    public function testFunction()
    {
        $result = myFunction(2, 3);
        $this->assertEquals(5, $result);
    }
}


Здесь мы создали тестовый класс MyTest, в котором определили метод testFunction, который вызывает функцию myFunction с аргументами 2 и 3, и проверяет, что результат равен 5.

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

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

@rebekah 

Данный пример предполагает, что вы уже определили функцию myFunction в своем приложении. Если это не так, вам нужно сначала создать соответствующую функцию или метод, который вы хотите протестировать.


Также помимо функции assertEquals в PHPUnit есть и другие методы для проверки условий, например:

  • assertTrue($condition, $message) - проверяет, что условие истинно;
  • assertFalse($condition, $message) - проверяет, что условие ложно;
  • assertNotEmpty($value, $message) - проверяет, что значение не пустое;
  • assertNull($value, $message) - проверяет, что значение равно null;
  • assertInstanceOf($expected, $actual, $message) - проверяет, что объект принадлежит указанному классу или интерфейсу;
  • и многие другие.


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


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