У меня есть класс теста PhpUnit, подобный следующему:
use PHPUnit\Framework\TestCase;
use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet;
final class SheetValidationTest extends TestCase {
private function isTitleValid(string $title) {
$worksheetStub = $this->createStub(Worksheet::class);
$worksheetStub->method('getTitle')->willReturn($title);
[ // ... act and assertion here ]
}
}
Когда я запускаю этот тест, я получаю:
Невозможно создать заглушку или макет класса или интерфейса "PhpOffice \ PhpSpreadsheet \ Worksheet \ Worksheet ", который не существует
Класс Worksheet присутствует (у поставщика), и Ctrl+Click
переводит меня в тот самый класс.
Фактический код, в котором используется этот класс, работает хорошо.
Поиск в Google и поиск SO не помогли мне решить эту проблему; У кого-нибудь есть идея?
Стоит ли использовать вместо этого MockBuilder? Спасибо, ребята!