gpt4 book ai didi

ruby - RSpec:如何测试文件操作和文件内容

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

在我的应用程序中,我有以下代码:

File.open "filename", "w" do |file|
file.write("text")
end

我想通过 RSpec 测试这段代码。这样做的最佳做法是什么?

最佳答案

我建议为此使用 StringIO 并确保您的 SUT接受要写入的流而不是文件名。这样,可以使用不同的文件或输出(更可重用),包括字符串 IO(有利于测试)

因此在您的测试代码中(假设您的 SUT 实例是 sutObject 并且序列化程序被命名为 writeStuffTo:

testIO = StringIO.new
sutObject.writeStuffTo testIO
testIO.string.should == "Hello, world!"

String IO 的行为就像一个打开的文件。因此,如果代码已经可以使用 File 对象,那么它也可以使用 StringIO。

关于ruby - RSpec:如何测试文件操作和文件内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4070422/

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