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

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

$obj = new AbstractClass; // dont work

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

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

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

Войти через центр авторизации
Похожие вопросы