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//....
public function testSetProducto()
{
$this->Producto=new Producto($nombre,$precio,$categoria,$marca);
$nombre="Pera";
$precio=10;
$categoria="frutas";
$marca="perita";
//esto es incorrecto
//$this->nombre=$nombre;
//esto es correcto
$this->Producto->nombre=$nombre;
}
public function testgetPrecio()
{
//this->Producto no contiene nada, necesitas instanciarlo como el test de arriba.
$this->assertEquals(10, $this->Producto->getPrecio());
}