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?
  • Вопрос задан
  • 54 просмотра
Решения вопроса 1
  • @smple
    ну отвечу для примера что никак в текущей ситуации

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

    $obj = new AbstractClass; // dont work

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

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

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

Войти через TM ID
Похожие вопросы