0

我正在使用 Cucumber、Ruby 和 SitePrism 类。我试图在 SitePrism 类中进行断言,并且在包含 RSpec::Matchers 时设法使用了“期望”方法,但是,我使用“binding.pry”进行调试,我刚刚注意到我不是能够再使用它,因为它不断失败并出现以下错误:

NoMethodError:为#RSpec::Matchers::BuiltIn::Output:0x0000000a5536b0 调用私有方法`print'> 你的意思是?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}
4

1 回答 1

1

老问题,但提供额外信息

虽然这里没有足够的代码来做出判断,但如果您遵循 SitePrism 指南,那么在 step_definitions 中执行测试不需要您包含或加载任何内容。

您的所有 3 个设置都不是必需的。只需在您的文件中要求必要的文件env.rb,您就可以开始了。

这使您能够进行相当干净的测试,但也可以防止任何额外的东西混入不应该出现的地方。

取决于您与谁交谈,它旨在执行 Cucumber World 中的所有测试以及支持代码中的所有建模工作(但这是另一天的问题)

于 2019-02-22T14:05:45.653 回答