2010-12-04 11 views
5

En los carriles de auto-generada prueba funcional (test/functional/products_controller_test.rb), veo el siguiente código:rieles de prueba funcional

class ProductsControllerTest < ActionController::TestCase 
    setup do 
    @product = products(:one) 
    ... 
    end 

    ...some tests here... 
end 

Las preguntas que tengo son:

  1. Dónde/cómo es el método llamado products() definido?

  2. ¿Qué significa realmente products(:one)? Al mirar el código, probablemente signifique "crear un producto", pero ¿cómo funciona?

N.B. Soy nuevo en Ruby/Rails, me disculpo si estas son preguntas triviales.

Respuesta

11

Si nos fijamos en la carpeta de prueba/accesorios, verá un archivo products.yml. Esto se genera automáticamente cuando creas un modelo. En sus archivos de prueba, products(:one) se refiere al producto en ese archivo etiquetado como "uno". Los dispositivos se cargan automáticamente en la base de datos para realizar pruebas, y el método products() se crea como un accesorio conveniente para esos objetos.

Puede añadir sus propios objetos de aparatos, según sea necesario, directamente en el archivo yml.

Cuestiones relacionadas