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