rails example databasecleaner ruby-on-rails ruby rspec

ruby-on-rails - example - ruby capybara github



RSpec.describe vs describe (2)

Estoy empezando un nuevo proyecto de Rails por primera vez en mucho tiempo. Cuando se modela un modelo, Rspec crea bloques de descripción predicados con "RSpec"

RSpec.describe MyModel do ... end

vs el estilo antiguo:

describe MyModel do ... end

He examinado el registro de cambios pero ¿debe faltar la razón para el cambio?


A partir de Rpec 3 puede deshabilitar la disponibilidad global de la describe limitando el idioma específico del dominio (dsl) .

El prefijo con Rspec.describe garantiza que las pruebas aún se ejecutarán después de implementar la limitación.

Nota: aún no necesita el prefijo, a menos que desactive la disponibilidad con config.expose_dsl_globally = false

Edición: enlace a wsipedia dsl


A través de la confirmación:

En un esfuerzo concertado para mantener los parches de mono al mínimo. Los generadores de especificaciones de Rails predeterminados no deben usar la versión de parche mono describe .

Utilizar siempre solo el RSpec.describe parche no mono, en lugar de inspeccionar la configuración, tiene los beneficios de:

  • no requiere que se cargue RSpec cuando los generadores son operados por Rails
  • No introducir lógica y estado extra para manejar los diferentes estados.
  • Resuelve # 1048

https://github.com/rspec/rspec-rails/commit/ca0d249858903949052e06884e8e7f9d596cdc79