codemafia
@codemafia
Сын маминой подруги

Как написать тест для несуществующего метода?

Приветствую.
Есть упрощенный абстрактный класс, вызывающий метод наследника:

AbstractClass
<?php
namespace Foo\Bar;

abstract class AbstractClass
{
    public function trigger($event)
    {
        if ($event && method_exists($this, $event)) {
            return $this->"on".$event();
        }
    }
}

Как правильно написать тест, который будет проверять trigger("Test"), т.е вызов несуществующего метода onTest?
  • Вопрос задан
  • 66 просмотров
Решения вопроса 1
  • @smple
    ну отвечу для примера что никак в текущей ситуации

    причины почему этого не сделать
    1. Юнит тест он покрывает КОНКРЕТНЫЙ экземпляр класса, а не абстрактный (поэтому надо будет писать юнит тесты на все НЕ абстрактные классы).
    2. написать юнит тест для абстрактного класса не возможно, так как нельзя создать экземпляр абстрактного класса

    $obj = new AbstractClass; // dont work

    Поэтому учитывая выше сказанное надо тестировать конкретные классы наследники этого класса.

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

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
Plesk Новосибирск
от 110 000 до 150 000 руб.
4xxi Санкт-Петербург
от 80 000 до 130 000 руб.
17 июля 2018, в 11:47
100 руб./за проект
17 июля 2018, в 11:17
800 руб./в час