Я бы хотел, чтобы мой тест провалился, если я издеваюсь над интерфейсом, используя Mockery, и использую shouldReceive с несуществующим методом. Оглядеться не помогло.
Например :
С интерфейсом:
interface AInterface {
public function foo();
public function bar();
}
И тестовый пример:
function testWhatever{
Mockery::mock('AInterface')->shouldReceive('bar');
$this->assertTrue(true);
}
Испытание пройдет.
Теперь, время рефакторинга, метод bar не нужен в одном месте (скажем, он нужен в нескольких местах) и исключен из определения интерфейса, но тест все равно пройдет. Я хотел бы, чтобы это не удалось.
Можно ли сделать такое с помощью издевательств (и сделать то же самое с классом вместо интерфейса)? Или существует обходной путь с каким-то другим инструментом или методологией тестирования?
Не уверен, что это можно понять как есть, постараюсь сделать более четкое описание проблемы, если это необходимо.