PHPUnit para testes em classes de persistencia com doctrine
24/05/2017
0
Bom dia, estou com algumas duvidas de como proceder para efetuar testes em classes de persistencia com PHPUnit.
Classe:
Classe de testes
Erro gerado
Caso alguem tenha alguma ideia, que eu possa testar, será de grande ajuda...
Muito obrigado.
Classe:
<?php namespace App\\Action; use Bootstrap; use App\\Model\\TipoProduto as TipoProduto; class TipoProdutoAction { public function salvarTipoProduto($param) { $em = Bootstrap::getEntityManager(); $item = new TipoProduto; if (isset($param["id"])){ $item = $em->getRepository('App\\Model\\TipoProduto')->find($param['id']); } $item->setNome($param["nome"]); $item->setTipo($param["tipo"]); $em->persist($item); $em->flush(); return $item->getId(); } }
Classe de testes
<?php use PHPUnit_Framework_TestCase as PHPUnit; use \\App\\Action\\TipoProdutoAction as ActionTipoProduto; spl_autoload_register(function($className) { require(str_replace("\\\\", "/", __DIR__ . '/' . $className . '.php')); }); class TipoProdutoTest extends PHPUnit { protected $tipo; public function setUp() { $this->tipo = new ActionTipoProduto; } public function testExisteMetodo() { $this->assertTrue( method_exists( new ActionTipoProduto, 'salvarTipoProduto' ), 'Method not found: salvarTipoProduto()' ); } public function testConsegueInserir() { $param = array('id' => 1, 'nome' => 'pizza', 'tipo' => '1'); $this->tipo->salvarTipoProduto($param); } public function tearDown() { } }
Erro gerado
PHPUnit 3.7.21 by Sebastian Bergmann. .PHP Warning: Uncaught PHPUnit_Framework_Error_Warning: require(C:/xampp/htdocs/app/api/src/Doctrine/ORM/Configuration.php): failed to open stream: No such file or directory in C:\\xampp\\htdocs\\app\\api\\tests\\TipoProdutoTest.php:9 Stack trace: #0 C:\\xampp\\htdocs\\app\\api\\tests\\TipoProdutoTest.php(9): PHPUnit_Util_ErrorHandler::handleError(2, 'require(C:/xamp...', 'C:\\\\xampp\\\\htdocs...', 9, Array) #1 C:\\xampp\\htdocs\\app\\api\\tests\\TipoProdutoTest.php(9): require() #2 [internal function]: PHPUnit_Util_Fileloader::('Doctrine\\\\ORM\\\\Co...') #3 C:\\xampp\\htdocs\\app\\api\\src\\Bootstrap.php(37): spl_autoload_call('Doctrine\\\\ORM\\\\Co...') #4 C:\\xampp\\htdocs\\app\\api\\src\\App\\Action\\TipoProdutoAction.php(12): Bootstrap::getEntityManager() #5 C:\\xampp\\htdocs\\app\\api\\tests\\TipoProdutoTest.php(32): App\\Action\\TipoProdutoAction->salvarTipoProduto(Array) #6 [internal function]: TipoProdutoTest->testConsegueInserir() #7 C:\\xampp\\php\\pear\\PHPUnit\\Framework\\TestCase.php(975): Reflection in C:\\xampp\\htdocs\\app\\api\\tests\\TipoProdutoTest.php on line 9 PHP Fatal error: PHPUnit_Util_Fileloader::(): Failed opening required 'C:/xampp/htdocs/app/api/src/Doctrine/ORM/Configuration.php' (include_path='C:\\xampp\\php\\PEAR') in C:\\xampp\\htdocs\\app\\api\\tests\\TipoProdutoTest.php on line 9 Warning: Uncaught PHPUnit_Framework_Error_Warning: require(C:/xampp/htdocs/app/api/src/Doctrine/ORM/Configuration.php): failed to open stream: No such file or directory in C:\\xampp\\htdocs\\app\\api\\tests\\TipoProdutoTest.php:9 Stack trace: #0 C:\\xampp\\htdocs\\app\\api\\tests\\TipoProdutoTest.php(9): PHPUnit_Util_ErrorHandler::handleError(2, 'require(C:/xamp...', 'C:\\\\xampp\\\\htdocs...', 9, Array) #1 C:\\xampp\\htdocs\\app\\api\\tests\\TipoProdutoTest.php(9): require() #2 [internal function]: PHPUnit_Util_Fileloader::('Doctrine\\\\ORM\\\\Co...') #3 C:\\xampp\\htdocs\\app\\api\\src\\Bootstrap.php(37): spl_autoload_call('Doctrine\\\\ORM\\\\Co...') #4 C:\\xampp\\htdocs\\app\\api\\src\\App\\Action\\TipoProdutoAction.php(12): Bootstrap::getEntityManager() #5 C:\\xampp\\htdocs\\app\\api\\tests\\TipoProdutoTest.php(32): App\\Action\\TipoProdutoAction->salvarTipoProduto(Array) #6 [internal function]: TipoProdutoTest->testConsegueInserir() #7 C:\\xampp\\php\\pear\\PHPUnit\\Framework\\TestCase.php(975): Reflection in C:\\xampp\\htdocs\\app\\api\\tests\\TipoProdutoTest.php on line 9 Fatal error: PHPUnit_Util_Fileloader::(): Failed opening required 'C:/xampp/htdocs/app/api/src/Doctrine/ORM/Configuration.php' (include_path='C:\\xampp\\php\\PEAR') in C:\\xampp\\htdocs\\app\\api\\tests\\TipoProdutoTest.php on line 9
Caso alguem tenha alguma ideia, que eu possa testar, será de grande ajuda...
Muito obrigado.
Hugo
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)