【发布时间】:2018-06-07 00:06:37
【问题描述】:
我正在构建一个 gem,它允许为 ruby gem 开发提供比当前选项更方便和可配置的“控制台”(即:“捆绑控制台”)。
因此,整个 gem 最重要的方面之一是它实际上打开了一个控制台会话,我目前已经在 start 方法中设置了它:
class MyConsole
def start
Pry.start(self)
end
end
我正在尝试测试此功能,但这很困难,因为他们没有很多好的资源。这也很烦人,因为每次我在 rspec 中运行此方法时,pry 都会打开,我必须在完成其余测试之前退出它。
我有三个主要问题:
- 如何在 rspec 中运行启动 pry 而不实际启动 pry 的方法?
- 我怎样才能具体测试该方法是否确实开始撬动?
- 假设 1 和 2 是可能的,我如何测试该方法在什么上下文中开始窥探? (注意 start 方法如何调用 Pry.start(self),这意味着 pry 会话应该在 MyConsole 实例的上下文中打开。)
【问题讨论】: