Как правильно написать тест phpunit?

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

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

Как правильно написать тест phpunit?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

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

@clifford 

  1. Определите, какую функциональность вы хотите протестировать
  2. Напишите тестовый случай (test case), который проверяет эту функциональность
  3. Определите, какие ожидаемые результаты должны быть получены в тестовом случае
  4. Запускайте тестовый случай и проверьте, что он проходит или больше не выдает ошибок
  5. Изучите результаты тестирования и исправьте любые ошибки, которые вы обнаружили
  6. Повторите процесс, чтобы протестировать другие функциональности


Пример написания теста в PHPUnit:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
class MyTest extends PHPUnit_Framework_TestCase
{
    public function testSomething()
    {
        // Setup
        $myObject = new MyClass();

        // Action
        $result = $myObject->doSomething();

        // Assert
        $this->assertEquals('expected result', $result);
    }
}


В этом примере мы создаем тестовый случай, где мы хотим протестировать функцию doSomething () в классе MyClass(). Мы устанавливаем объект $myObject в SetUp методе, чтобы протестировать функцию. Затем мы запускаем функцию и сохраняем результат в переменную $result. Далее мы утверждаем, что результат должен быть "ожидаемый результат" с помощью метода assertEquals (). Это описывает базовую структуру теста; однако конкретный тест будет зависеть от того, что вы тестируете.

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

от eryn.rodriguez , 4 месяца назад

@clifford 

Важно помнить, что при написании тестов следует следовать основным принципам тестирования:

  1. Пишите независимые тесты: каждый тест должен проверять одну конкретную функциональность или метод. Не зависейте от результатов других тестов.
  2. Используйте утверждения (assertions): проверяйте, что результат выполнения вашего кода соответствует ожиданиям.
  3. Покрывайте как можно больше сценариев: проверьте как позитивные, так и негативные сценарии выполнения кода.
  4. Будьте последовательны: старайтесь называть тестовые методы и переменные понятно и однозначно.
  5. Запускайте тесты регулярно: удостоверьтесь, что ваш код проходит все тесты после каждого изменения.


Возможные методы утверждений (assertions), которые могут использоваться в PHPUnit, помимо уже приведенного примера assertEquals(), включают:

  • assertTrue(condition) - проверка, что условие истинно
  • assertFalse(condition) - проверка, что условие ложно
  • assertNotEmpty(value) - проверяет, что значение не пустое
  • assertCount(count, array) - проверка, что количество элементов массива равно указанному значению


Используйте эти и другие методы для написания тестов в PHPUnit и обеспечения качества вашего кода.