将 shoulda 宏与 RSpec 一起使用

发布于 2024-08-03 11:19:19 字数 612 浏览 4 评论 0原文

我正在尝试在 RSpec 中使用 shoulda 宏,但遇到了一些问题。

我已经完成了以下操作:

spec_helper.rb:

require 'shoulda/active_record/macros'

Spec::Runner.configure do |config|
    ...
    config.include(Shoulda::ActiveRecord::Macros, :type => :model)

spec / models / foo_spec.rb:

describe Foo do
    it { should_have_instance_methods( :save ) } # just for example
end

这给我带来了失败:

未定义的方法'get_options!'对于#

I'm trying to use the shoulda macros within RSpec and am having some problems.

I've done the following:

spec_helper.rb:

require 'shoulda/active_record/macros'

Spec::Runner.configure do |config|
    ...
    config.include(Shoulda::ActiveRecord::Macros, :type => :model)

spec/models/foo_spec.rb:

describe Foo do
    it { should_have_instance_methods( :save ) } # just for example
end

Which gives me a failure with:

undefined method 'get_options!' for #<Spec::Rails::Example::ModelExampleGroup::Subclass_1:0xb714046c>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

掩饰不了的爱 2024-08-10 11:19:19

只是语法:

not:

it { should_have_instance_methods( :save ) }

but

it { should have_instance_methods( :save ) } 

(注意下划线)

just syntax:

not:

it { should_have_instance_methods( :save ) }

but

it { should have_instance_methods( :save ) } 

(note the underscores)

明媚殇 2024-08-10 11:19:19

我不是 100% 确定与 RSpec 的集成,但是您是否将在上下文中调用 should_have_instance_methods 的块包装起来? IIRC 中的所有 should 语句都需要围绕它们的上下文。

I am not 100% sure about the integration with RSpec, but did you wrap the chunk where you call should_have_instance_methods in a context? IIRC all should statements from shoulda require a context wrapped around them.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文