Метод тестирования PHPUnit ожидает аргумент определенного типа

Протестированный интерфейс:

interface Foo
{
public function f(Type $x);
}

Существует ли стандартный способ (с использованием PHPUnit API) написать тест, который утверждает:

f ожидает тип аргумента Type?

В настоящее время я использую Reflection для определения типа с дальнейшей проверкой:

Прецедент:

public function testFooInterfaceFExpectsType()
{

$this->assertInstanceOf(
Type::class,
$this->getParameterTypeForMethod('f', 0)
);
}

private function getParameterTypeForMethod($methodName, $parameterNumber)
{
return $this->createMock((string) (new \ReflectionClass(FooInterface::class))
->getMethod($methodName)
->getParameters()[$parameterNumber]
->getType());
}

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

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector