如何在rspec中调用类方法

时间:2017-04-14 12:41:16

标签: ruby ruby-on-rails-4 rspec

我有以下课程方法

module Abc
  class Def
    class << self
      include Ghi::Lmn
      def mymethod(*args)
      puts 'class method'

      def value
      @value.nil? ? 'test' << name : @value
      end
      end
  end
end

现在我如何编写此方法的测试用例,以便调用方法mymethod?

2 个答案:

答案 0 :(得分:1)

Here's关于如何使用rspec调用类方法的良好链接。基本上,您在rspec本身中创建了对类方法的调用:

class FooBar

  def initialize(foo, bar)
    @foo = foo
    @bar = bar
  end

  def output
    puts @foo
    puts @bar
  end

end

describe Foo do
  context bar do
    subject { FooBar.new(<info>).output } # Create an instance of the class in the rspec
  end
end 

答案 1 :(得分:0)

您可以这样调用您的方法:

Abc::Def.mymethod(1, 2, 3, :foo, :bar, :baz)