Рубрики
Uncategorized

Практика PHPUnit I (Первое понимание)

Автор оригинала: David Wong.

Все PHPUnit тест s в этой серии основаны на PHPUnit6.5.9 Издание, Люмен 5,5 рамка

Предложение

Ежедневное тестирование для нашего общего использования:

  1. Прямое эхо кода, отладка и другое тестирование – > Отслеживание деталей тестирование точек останова
  2. Ведение журнала Тестирование с помощью журнала – > Отслеживание деталей Тестирование точек останова
  3. Вспомогательные инструменты, Почтальон и т. Д. Сделать Запрос на Тестирование класса – > Запросить Тестирование класса
  4. Прямое тестирование браузера – > Тестирование браузера

модульное тестирование

Модульное тестирование-это проверка корректности по отношению к наименьшей единице программы. Программный блок – это самый маленький тестируемый компонент приложения. Единицей может быть одна программа, класс, объект, метод и т.д.

Модульное тестирование-это функция, используемая для тестирования части пакета или программы или набора кодов. Цель тестирования-подтвердить, работает ли целевой код так, как ожидалось в данном сценарии.

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

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

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

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

Преимущества или улучшения в решении проблем

  1. Уменьшение количества ошибок

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

  2. Быстрое обнаружение ошибок

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

  3. Повышение качества кода

    Если каждый компонент идеален, то и комбинация должна быть идеальной. Общее качество кода гарантировано.

  4. Сократите время отладки

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

PHPUnit

PHPUnit-это платформа тестирования для PHP-программистов, которая представляет собой платформу модульного тестирования архитектуры xUnit.

Издание

Прекратите поддержку 5 февраля 2021 года PHPUnit 8 1 февраля 2019 года PHP 7.2, PHP 7.3, PHP 7.4
Прекратите поддержку 7 февраля 2020 года PHPUnit 7 2 февраля 2018 года PHP 7.1, PHP 7.2, PHP 7.3
Прекратите поддержку 1 февраля 2019 года PHPUnit 6 3 февраля 2017 года PHP 7.0, PHP 7.1, PHP 7.2 *
Прекратите поддержку 2 февраля 2018 года PHPUnit 5 2 октября 2015 года PHP 5.6, PHP 7.0, PHP 7.1
Прекратите поддержку 3 февраля 2017 года PHPUnit 4 7 марта 2014 года PHP 5.3, PHP 5.4, PHP 5.5, PHP 5.6

Ваша первая демонстрация модульного теста

структура каталогов

tests
- ExampleTest. PHP test case
TestCase. PHP Lumen comes with its own test base class, inheriting PHPunit

Код

php

class ExampleTest extends TestCase
{
    /**
     * The test asserts success.
     *
     * @return void
     */
    public function testTrue()
    {
        $this->assertTrue(true);
    }
    
    /**
     * Test assertion failed
     *
     * @return void
     */
    public function testFailure()
    {
        $this->assertTrue(false);
    }
    
    /**
     * Test without assertion, risky.
     *
     * @return void
     */
    public function testRisky()
    {
    }
}

Функция

../vendor/bin/phpunit ExampleTest.php

выход

PHPUnit 6.5.9 by Sebastian Bergmann and contributors.

.FR                                                                 3 / 3 (100%)

Time: 902 ms, Memory: 10.00MB

There was 1 failure:

1) ExampleTest::testFailure
Failed asserting that false is true.

/web/www/wpt/gt-api/tests/ExampleTest.php:22

--

There was 1 risky test:

1) ExampleTest::testRisky
This test did not perform any assertions

FAILURES!
Tests: 3, Assertions: 2, Failures: 1, Risky: 1.

Объяснять

Три метода тестирования, два утверждения, один сбой утверждения и один метод тестирования без утверждения

Описание выходной идентификации

.
Output when the test is successful.

F
Output when an assertion fails during test method operation.

E
Output when an error occurs during the running of the test method.

R
Output when the test is marked as risky.

S
Output when the test is skipped.

I
Output when the test is marked as incomplete or unrealized.

Справочные ресурсы

Официальный документ PHPUnit 6.5