在 RSpec 外部独立使用 `rspec-mocks`(独立模式)
在 REPL(如 IRB)或一次性脚本中,在 RSpec 环境外部,使用 `require "rspec/mocks/standalone"` 在顶层(例如 `main`)公开 API。
允许 RSpec 外部消息
假设有一个名为“example.rb”的文件,其中包含
require "rspec/mocks/standalone"
greeter = double("greeter")
allow(greeter).to receive(:say_hi) { "Hello!" }
puts greeter.say_hi
当我运行 `ruby example.rb`
那么输出应包含“Hello!”。
期望 RSpec 外部消息
假设有一个名为“example.rb”的文件,其中包含
require "rspec/mocks/standalone"
greeter = double("greeter")
expect(greeter).to receive(:say_hi)
RSpec::Mocks.verify
当我运行 `ruby example.rb`
那么它应该失败并显示以下输出
(替身“greeter”)。say_hi(*(任何参数)) |
RSpec::Mocks::MockExpectationError |
预期:1 次,任何参数 |
接收:0 次,任何参数 |