2022-07-02 RSpec Zero monkey patching mode
RSpec Zero monkey patching mode
RSpec には Zero monkey patching mode というのが実装されていて下記のように設定することができる。
RSpec.configure { |c| c.disable_monkey_patching! }
Zero monkey patching mode - Configuration - RSpec Core - RSpec - Relish
無効化したいモチベーションとしては、既存のObjectをけっこう汚すから。
無効化しなければ、下記のような Global DSL が使えてしまう。
# 👇 この describe
describe "specs here" do
it "passes with monkey patched expectations" do
x = 25
# 👇 この should
x.should eq 25
x.should_not be > 30
end
it "passes with monkey patched mocks" do
x = double("thing")
# 👇 この stub
x.stub(:hello => [:world])
end
end
結論
RSpec 使うときは disable_monkey_patching!
を有効化しよう!