Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Ayuda con PHPUnit

Estas en el tema de Ayuda con PHPUnit en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola gente! estoy haciendo un proyecto con pruebas unitarias(PHPUnit), se que no se usa mucho o al menos en la web no hay mucho de ...
  #1 (permalink)  
Antiguo 28/02/2010, 20:32
Avatar de andama  
Fecha de Ingreso: noviembre-2008
Mensajes: 54
Antigüedad: 15 años, 5 meses
Puntos: 0
Exclamación Ayuda con PHPUnit

Hola gente! estoy haciendo un proyecto con pruebas unitarias(PHPUnit), se que no se usa mucho o al menos en la web no hay mucho de este tema.
Mi problema es que tengo una clase Class.Producto.php y su test ProductoTest.php, el asunto es que me tira un error al querer testear el metodo getPrecio, les dejo ambos codigos para quien pueda darme una mano

Class.Producto.php

Código PHP:
<?php
class Producto
{
    public function 
__construct($nombre,$precio,$categoria$marca)
    {
        
$this->nombre=$nombre;
        
$this->precio=$precio;
        
$this->categoria=$categoria;
        
$this->marca=$marca;
        }
    
    public function 
getPrecio()
    {
        return 
$this->precio;
    }
    
}
    
?>
ProductoTest.php
Código PHP:
<?php

// PHPUnit:
require_once('PHPUnit/Framework.php');
// lazy loading:

require_once('../abm/classes/class.producto.php');


class 
ProductoTest extends PHPUnit_Framework_TestCase
{

    public function 
testSetProducto()
    {    
        
$this->Producto=new Producto($nombre,$precio,$categoria,$marca);
    
    
        
$nombre="Pera";
        
$precio=10;
        
$categoria="frutas";
        
$marca="perita";
        
        
$this->nombre=$nombre;
        
$this->precio=$precio;
        
$this->categoria=$categoria;
        
$this->marca=$marca;
        
            }
        
        public function 
testgetPrecio()
    {
       
$this->assertEquals(10$this->Producto->getPrecio());

    }
    
    
    }
    
?>
El error que me tira es este:

Fatal error: Call to a member function getPrecio() on a non-object in C:\Archivo
s de programa\wamp\www\entrega TP 2 Martinez Andrea\tp_carrito_Doctrine\test\Pro
ductoTest.php on line 34


Gente voy a estar muy agradecida a quien pueda ayudarme.
Gracias!!
  #2 (permalink)  
Antiguo 28/02/2010, 22:47
Avatar de SergeMedina  
Fecha de Ingreso: septiembre-2007
Ubicación: Guadalajara, Jalisco
Mensajes: 459
Antigüedad: 16 años, 7 meses
Puntos: 20
Respuesta: Ayuda con PHPUnit

Tu problema esta muy claro, en tu ProductoTest estas tratando de acceder a las propiedades de un objeto Producto mediante "this" (ProductoTest), tambien en el segundo test this->Producto esta vacio:

Código PHP:
Ver original
  1. //....
  2.  
  3. public function testSetProducto()
  4.  {    
  5.         $this->Producto=new Producto($nombre,$precio,$categoria,$marca);
  6.    
  7.    
  8.         $nombre="Pera";
  9.         $precio=10;
  10.         $categoria="frutas";
  11.         $marca="perita";
  12.  
  13.         //esto es incorrecto
  14.          //$this->nombre=$nombre;
  15.         //esto es correcto
  16.         $this->Producto->nombre=$nombre;
  17.        
  18.  }
  19.        
  20.  public function testgetPrecio()
  21.  {
  22.        //this->Producto no contiene nada, necesitas instanciarlo como el test de arriba.
  23.        $this->assertEquals(10, $this->Producto->getPrecio());
  24.  
  25.  }
__________________
I see dead pixels
  #3 (permalink)  
Antiguo 01/03/2010, 04:50
Avatar de andama  
Fecha de Ingreso: noviembre-2008
Mensajes: 54
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Ayuda con PHPUnit

Gracias!! No me di cuenta de ese detalle . Anduvo perfecto!!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:24.