gpt4 book ai didi

ruby - Rspec 与系统交互

转载 作者:行者123 更新时间:2023-11-28 20:58:01 26 4
gpt4 key购买 nike

我有一个程序将运行多个系统命令。我知道如何做到这一点的最简单方法是使用 ` ` 符号。我想为这些工具构建测试,而不必在系统上实际运行这些系统命令。

有什么方法可以模拟系统的响应吗?

最佳答案

如果您的代码运行大量外部命令,您应该创建一个简单的包装器并模拟它:

def wants_to_run_external_command(command_runner)
command_runner.run('echo "hello world"')
end

然后像这样测试它:

it 'echos "hello world"' do
command_runner = double()
command_runner.should_receive(:run).with('echo "hello world"')
subject.wants_to_run_external_command(command_runner)
end

如果你想更整洁,你当然可以使用命令运行器实例初始化你的对象,这样你就不必将它传递给方法。

关于ruby - Rspec 与系统交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5583227/

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