PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum PHPUnit para testes em classes de persistencia com doctrine #581704

24/05/2017

0

PHP

Bom dia, estou com algumas duvidas de como proceder para efetuar testes em classes de persistencia com PHPUnit.

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

Hugo

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar