gpt4 book ai didi

ruby - 你如何在 Rspec 中模拟/ stub 反引号系统调用?

转载 作者:数据小太阳 更新时间:2023-10-29 06:48:39 24 4
gpt4 key购买 nike

我有一个使用反引号的方法,但 stub 不适用于它。它正在拉取 ls 的结果:

class TestHelper
def self.test_method
`ls`
end
end

rspec 测试:

describe TestHelper do
describe '.test_method' do
subject { described_class.test_method }
before { Kernel.stub(:`).and_return("test_dir") }
it { expect(subject).to eql("test_dir") }
end
end

最佳答案

TestHelper 接收它,然后将其委托(delegate)给 Kernel。所以, stub TestHelper:

describe TestHelper do
describe '.test_method' do
subject { described_class.test_method }
before { allow(described_class).to receive(:`).and_return("test_dir") }
it { is_expected.to eql("test_dir") }
end
end

关于ruby - 你如何在 Rspec 中模拟/ stub 反引号系统调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24194758/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com