2012-09-07 27 views
8

Estoy tratando de escribir algunas pruebas (no para la cobertura del código, pero irrelevantes aquí) en rspec para una aplicación ROR y necesito alias describirla, al menos. Puedo describir bien alias porque está en el nivel superior. Pero no puedo conseguir nada más para que funcione. como este chico:alias 'it' en rspec

module RSpec 
    module Core 
    class ExampleGroupMethods 
     alias :they :it 
    end 
    end 
end 

Lo incluí en el archivo de especificaciones pero no recibo la ruta del módulo correcta. Revisé la base de código rspec pero estoy chocando contra una pared, así que no creo saber muy bien qué estoy haciendo. Cualquier consejo o recurso sería muy apreciado.

Respuesta

15

que desea utilizar alias_example_to:

RSpec.configure do |c| 
    c.alias_example_to :they 
end 

Esto es parte de la API pública de RSpec.

+0

¡gracias! eso es lo que buscaba –

2

Parece que quiere usar define_example_method. Así es como RSpec define los métodos de grupo de ejemplo como it y specify, que en realidad son solo alias de cada uno. No estoy seguro si hay una API aprobado para golpear ligeramente en él, pero usted debería ser capaz de hacer algo como:

module RSpec 
    module Core 
    class ExampleGroupMethods 
     class << self 
     define_example_method :they 
     end 
    end 
    end 
end 
+0

Sí, lo vi anoche, pero no estaba seguro de que realmente hiciera lo que parecía, pero supongo que tenía razón. Sin embargo, lo intenté y obtuve el "método indefinido' define_example_method 'para # (NoMethodError) ", que es la misma pared de ladrillos que siempre me parece. PARECE que debería funcionar, pero no entiendo por qué no funciona. –

+0

¿Dónde está poniendo este código y necesita rspec-core en cualquier lugar antes? –