我正在使用带有 page object 的 Cucumber,类似于下面显示的简化版本。我需要对 HTML 进行一些非常复杂的解析,所以我希望能够使用 RSpec 对 HTML 固定装置单独对页面对象进行单元测试,但我有点难以做到这一点。我猜我需要在 Capybara 中 stub 一些东西,并将它作为依赖项传递?
class SomePage
def header
session.find('h1').text
end
def title
session.find('title').text
end
private
def session
@session ||= Capybara.current_session
end
end
最佳答案
为了回答我自己的问题,我发现 Capybara 有一个 #string 方法,它接受一段 HTML 并返回一个:
所以我只是在我的类中添加了一个初始化器,以允许传递和使用这个节点来代替 Capybara session 。不需要 stub 或模拟,它完全符合我的需要。
关于ruby - 为页面对象测试 stub Capybara session ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7492303/