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