簡體   English   中英

准確使用嘲諷PHPUnit嗎?

[英]Accurate usage of mockery 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);
}

就是想,

謝謝!

我會辯稱,如果您根本不關心是否已上傳播客,則不應為此編寫測試。

但是話又說回來,如果您真的不關心它,也不要為它編寫代碼。

在當前形式下,您的測試不會帶來太多價值。 實際上,所測試的只是該模擬框架是否有效。 不過,該功能已經在其他地方進行了測試,因此您需要做雙重工作。

當您測試依賴於 PodcastUploadService的服務時,可以使用模擬:您只想測試該服務 ,而無需處理PodcastUploadService本身。

有關更多信息, 有關Mocks的本文可能會有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM