Witam
Może ktoś ocenić czy test jest dobrze napisany?
<?php
namespace App\Tests\Service;
use App\Entity\Recipe;
use App\Repository\RecipeRepository;
use PHPUnit\Framework\TestCase;
use App\Service\RecipeService;
class RecipeServiceTest extends TestCase
{
/**
* @var RecipeService
*/
private $recipeService;
/**
* @var RecipeRepository|\PHPUnit_Framework_MockObject_MockObject
*/
private $recipeRepositoryMock;
protected function setUp()
{
$this->recipeRepositoryMock = $this->getMockBuilder(RecipeRepository::class)
->disableOriginalConstructor()
->getMock()
;
$this->recipeService = new RecipeService(
$this->recipeRepositoryMock
);
}
protected function tearDown()
{
$this->recipeService = null;
$this->recipeRepositoryMock = null;
}
public function testGetOneRecipeById()
{
$id = 1;
$recipe = new Recipe();
$this->recipeRepositoryMock
->expects($this->any())
->method('find')
->with($id)
->willReturn($recipe);
$returnRecipe = $this->recipeService->getOneRecipeById($id);
$this->assertEquals($recipe, $returnRecipe);
}
}
<?php
namespace App\Service;
use App\Repository\RecipeRepository;
class RecipeService
{
private $recipeRepository;
public function __construct(
RecipeRepository $recipeRepository
) {
$this->recipeRepository = $recipeRepository;
}
public function getOneRecipeById(int $id)
{
$result = $this->recipeRepository->find($id);
return $result;
}
}