RSpec.describe vs описать
Я впервые запускаю новый проект Rails. Когда строительные леса моделируют, Rspec создает описываемые блоки, основанные на "RSpec"
RSpec.describe MyModel do
...
end
против старого стиля:
describe MyModel do
...
end
Я просматривал журнал изменений, но мне нужно учесть рациональное изменение?
Ответы
Ответ 1
С Rpec 3 вы можете отключить глобальную доступность describe
, ограничив доменный язык (dsl).
Префикс Rspec.describe
гарантирует, что тесты будут выполняться после реализации ограничения.
Примечание: вам все равно не нужен префикс, если вы не отключите доступность с помощью config.expose_dsl_globally = false
Изменить: ссылка на dsl wikipedia
Ответ 2
Через фиксацию:
В согласованных усилиях, чтобы обезвредить обезьяны до минимума. По умолчанию генераторы спецификаций Rails не должны использовать обезьяну, исправленную версии describe
.
Всегда используйте только не обезьяну, заархивированную RSpec.describe
, вместо проверка конфигурации, имеет следующие преимущества:
- не требует загрузки RSpec, когда генераторы запускаются Rails
- не вводит дополнительную логику и состояние для обработки разных состояний.
- Решить # 1048
https://github.com/rspec/rspec-rails/commit/ca0d249858903949052e06884e8e7f9d596cdc79