gpt4 book ai didi

class - 使用 RSpec 3 测试模块

转载 作者:行者123 更新时间:2023-11-28 20:42:53 28 4
gpt4 key购买 nike

我一直在努力测试模块的 def self.method。我找到了一个很棒的线程 here with a very helpful answer .我的代码是:

module MyModule
def self.method
groups = Posts.group :name
end
end

describe Class.new { include MyModule } do
its (:method) { should be_a(ActiveRecord::Relation) }
end

问题是,问题是关于包含一个模块,并且不扩展它。正如答案的作者提到的,他使用 RSpec 2 对其进行了测试。我用 RSpec 3.0.0 测试了它,唯一起作用的是方法是实例的方法。否则我会收到以下错误:

undefined method `method' for #<#<Class:0x0000000..>:0x00000006..>

如何测试 MyModule.method

最佳答案

它可能会混淆实例和类级别的方法。试试这个以确保它确实在类级别方法上进行测试

class MyClass
include MyModule
end
it "should have an active relation on method" do
expect(MyClass.method).to be_a(ActiveRecord::Relation)
end

关于class - 使用 RSpec 3 测试模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25293680/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com