Trabajando con los user stories un colega me paso esto donde hablan de FixtureReplacement, lo vi, y me gusto.

Es un factory de instancias ActiveRecord para los tests sean unit testo o rspec.

module FixtureReplacement
    def usuario_attributes
      password = String.random
      {
        :nombre               => "valor",
        :otro                  => "otro valor"
        :otro_mas                => String.random,     # un string random de 10 caracteres
        :uno_mas               => String.random(15), # de 15 caracteres
        :password               => password,
        :password_confirmation  => password,
        :un_belongs_to      => default_pepe        # necesita pepe_attributes definido
      }
    end
  end

Esto nos permitira hacer:

new_usuario: equivalente a Usuario.new(usuario_attributes).

create_usuario: equivalente a Usuario.create!(usuario_attributes).

default_usuario: para usar dentro de definiciones model_attributes; esto retorna un Proc object lo cual permite que la creación de el objeto pueda ser cuando recién se necesita, de esta manera se evita la creación de objetos innecesarios hasta que realmente se necesita.

Pero mejor vean el screencast

FixtureReplacement screencast

1 Response to “FixtureReplacement adios a los yml?”

  1. Lucas Efe Says:

    Me parece que no soporta namespaces en los nombres de los modelos. Es decir, pincha al usar modelos del estilo:

    class Frutas::Banana

    end

    En fin, si alguien sabe algo,...

    Saludos

Sorry, comments are closed for this article.