Fórum PHPUnit para testes em classes de persistencia com doctrine #581704
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 :)