gpt4 book ai didi

ruby - 如何为包含 "gets.chomp"的 Ruby 方法编写 RSpec 测试?

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

<分区>

挑战

嗨!对于以下 Ruby 方法,如何在不重写方法的情况下使用 RSpec 测试模拟用户输入?

def capture_name
puts "What is your name?"
gets.chomp
end

我找到了 a similar question ,但这种方法需要使用一个类来创建。 RSpec 是否支持对不在类中的方法进行 stub ?

一个不同的作品,但我不得不重写方法

我可以重写该方法,使其具有默认值为“gets.chomp”的变量,如下所示:

def capture_name(user_input = gets.chomp)
puts "What is your name?"
user_input
end

现在我可以像这样编写 RSpec 测试了:

describe "Capture name" do
let(:user_input) { "James T. Kirk" }

it "should be 'James T. Kirk'" do
capture_name(user_input).should == "James T. Kirk"
end
end

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