Ruby 测试的全面指南
1. Minitest 中的模拟对象创建
在测试中,模拟对象是一种强大的工具。Minitest 允许创建模拟对象,这些对象模拟系统中现有对象的 API,通常提供预先设定的响应,而非更昂贵或脆弱的真实响应。模拟对象可以被验证,如果在测试期间未调用预期的方法,将引发失败。
在 Minitest 中创建模拟对象的步骤如下:
1. 像创建其他 Ruby 对象一样创建模拟对象。
2. 通过 expect 方法添加希望模拟对象响应的方法。
3. 最后,可选择使用 verify 测试所有预期方法是否都被调用。
以下是一个示例,重写播放列表构建器测试,避免创建“真实”的 DBI 实例:
require "minitest/autorun"
require_relative "playlist_builder"
class TestPlaylistBuilder < Minitest::Test
def setup
@database = Minitest::Mock.new
@database.expect(:connect, true)
@database.expect(:disconnect, false)
@playlist_builder = PlaylistBuilder.new(@database)
end
def teardown
@database.disconnect
@database.verify
end
超级会员免费看
订阅专栏 解锁全文
182

被折叠的 条评论
为什么被折叠?



