[Ror-es] before_save y test

Jaime Mora Ramones ruby-forum-incoming at andreas-s.net
Thu Dec 21 00:18:39 GMT 2006


David Flores wrote:
> Si salvo los datos a la base de datos, entonces podría llegar a
> tener unos tests que sean dependientes de otros y del orden en que se
> ejecuten

Para realizar pruebas utilizaremos la base de datos destinada para esto, 
por ejemplo si tenemos una base de datos que se llame mydb_development, 
tendremos una para pruebas llamada mydb_test. Una alternativa es clonar 
la estructura de la base de datos, sería con rake:

rake clone_structure_to_test

Ahora bien, ya tenemos nuestra base de datos de pruebas con el mismo 
schema que la que empleamos para desarrollo, pero sin datos. Para 
realizar pruebas podemos emplear "Test Fixtures", es una especificación 
del contenido inicial de un modelo, de este modo nos aseguramos que 
nuestra tabla users por ejemplo inicie con el correcto contenido al 
inicio de cada prueba unitaria. Los datos "fixture" se localizan en 
archivos en la carpeta test/fixtures. Esos archivos contienen datos en 
formato CSV (Valores separados por coma) ó bien en el formato YAML. Si 
nuestro modelo se llama User, entonces deberemos tener un archivo 
llamado users.yml, con un contenido semejante al siguiente :

david:
  id: 1
  login: david
  email: david at example.com
  crypted_password: 00742970dc9e6319f8019fd54864d3ea740f04b1 # test
dhh:
  id: 2
  login: dhh
  email: dhh at example.com
  crypted_password: 00742970dc9e6319f8019fd54864d3ea740f04b1 # test

Te dejo estos links:

http://wiki.rubyonrails.com/rails/pages/ActiveRecordYamlFixtures
http://wiki.rubyonrails.com/rails/pages/HowToUseFixturesWithHABTM
http://manuals.rubyonrails.com/read/chapter/26
http://rails.rubyonrails.com/classes/Fixtures.html

Espero te sirva.
---
Jaime Mora Ramones

-- 
Posted via http://www.ruby-forum.com/.


More information about the Ror-es mailing list