[英]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.