Точное использование издевательства над PHPUnit?

Мне просто интересно, это точное представление о том, как использовать Mockery с PHPUnit, или вы можете придумать лучший пример? По сути, я издеваюсь над своим PodcastUploadService, поскольку меня беспокоит не то, что подкаст загружен, а то, что метод вызывается и возвращает true для моих входных данных.

    <?php
/** @test */
function can_store_podcast_thumbnail()
{
 $podcast = factory(Podcast::class)->make([
     'feed_thumbnail_location' => 
     'https://media.simplecast.com/image/artwork.jpg',
 ]);

 $mockedService = Mockery::mock(\App\PodcastUploadService::class);
 $mockedService->shouldReceive('storePodcastThumbnail')
    ->with($podcast)
    ->once()
    ->andReturn(true);
 $mockedService->storePodcastThumbnail($podcast);
}

Просто интересуюсь,

Спасибо!

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
73
1

Ответы 1

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

Но опять же, если вас это действительно не волнует, вам также не следует писать для него код.

В текущей форме ваш тест не добавляет большой ценности. Все, что он на самом деле тестирует, - это то, работает ли фреймворк mocking. Однако это уже проверено в другом месте, так что вы делаете двойную работу.

Имитация имела бы смысл, когда вы тестируете службу это зависит от PodcastUploadService: вам нужно только протестировать эта услуга, и вам не нужно иметь дело с самой PodcastUploadService.

Для получения дополнительной информации может помочь эта статья о Mocks.

Другие вопросы по теме