Yii Framework Forum: Usando Fixtures En Yii - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Usando Fixtures En Yii Ejemplo del uso de fixture en yii Rate Topic: -----

#1 User is offline   José Bermúdez 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 1
  • Joined: 17-July 13

Posted 17 July 2013 - 09:16 AM

Hola.

He empezado a usar los fixtures para realizar pruebas unitarias, voy a compartir como configurar correctamente el fixture, ya que al principio he obtenido el error: Unknown property y es posible que algunas personas esten pasando por el mismo inconveniente.

En mi ejemplo el modelo de datos se encuentra dentro de un modulo ( ejemplos.models )<br/>

1. En el archivo de configuración agregar dentro del indice components

'components' => array(    
  ...
  'fixture' => array(
            'class' => 'system.test.CDbFixtureManager',
        ),
   ...


2. Crear el archivo fixture dentro de la carpeta protected\tests\fixtures, el archivo debe tener el
nombre de la tabla sobre la cual vamos a crear el fixture.<br/>
Por ejemplo si en la base de datos la tabla se llama: tblejemplo, nuestro archivo dentro de fixture se debe llamar: tblejemplo.php


protected\tests\fixtures\tblejemplo.php

<?php
return array(
    'test1'=>array(      
        'createDate'=>'2013-07-06 02:02:03',
        'modifiedDate'=>'2013-07-07 02:02:03',
        'reportId'=>'9',
        'params'=>'',
        'recipients'=>'test@gmail.com,exmple@hotmail.com',
        'frecuency'=>'30',
        'lastExecutedDate'=>'2013-07-08- 05:23:23',
        'reportName'=>'test report'        
    ),    
);


Creamos nuestro test
class UsingFixtureTest extends CDbTestCase
{

    /**
     * Fixture de Yii
     * Se usa la ruta del modulo para que yii puede importar el modelo
     */
    public $fixtures=array(
        'ejemplos'=>'ejemplos.models.Ejemplo',
    );
    
    /**
     * Test para probar el uso de fixture
     * 
     * 
     */
    public function testFixture()
    {                
        //en la variable $this->ejemplos tenemos el contenido de nuetro fixture
        // y lo podemos usar en todos nuestros test, en este caso es un array de 
        // de una posición
        $arrEjemploList = $this->ejemplos;  
        //para acceder a la posición específica de un set de datos del fixture    
        //retorna un array
        $arrFirstExample = $this->ejemplos['test1'];           
        //si queremos obtener una instancia de ActiveRecord
        //obtiene un objeto AR
        $objFirstExample = $this->ejemplos('test1'); 

    }
   

This post has been edited by José Bermúdez: 17 July 2013 - 09:39 AM

0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users