无法将RSpec :: Matchers与binding.pry一起使用

时间:2017-04-07 14:22:48

标签: ruby debugging cucumber pry site-prism

我正在使用Cucumber,Ruby和SitePrism课程。我试图在SitePrism类中进行断言,并设法使用'期望'包括RSpec :: Matchers在内的方法,但是,我正在使用' binding.pry'用于调试,我刚才注意到我不能再使用它,因为它一直没有出现以下错误:

  

NoMethodError:私有方法`print'呼叫#RSpec :: Matchers :: BuiltIn ::输出:0x0000000a5536b0>   你的意思是?的printf                  的sprintf

你知道错误是什么吗?我尝试过不同的方法来包含RSpec :: Matchers,所以不确定我是否采取了错误的做法?

*Method 1:*
include RSpec::Matchers
class SitePrismPage

*Method 2:*
class SitePrismPage
    extend RSpec::Matchers

*Method 3:*
class SitePrismPage
end
World{SitePrismPage.new}

1 个答案:

答案 0 :(得分:1)

旧问题,但提供了更多信息

虽然这里没有足够的代码来判断,但是如果您遵循SitePrism指南,则可以在step_definitions中执行测试,不需要您包含或加载任何东西。

您不需要全部3种设置。只需在您的env.rb文件中需要必需的文件,就可以了。

这使您可以进行相当干净的测试,而且还可以防止多余的东西混入不应有的地方。

取决于您与之交谈的对象,它旨在执行Cucumber World中的所有测试以及支持代码中的所有Modeling工作(但这又是一个问题)