使用minitest编写模型方法测试

时间:2013-03-13 09:30:43

标签: ruby-on-rails ruby minitest

我使用mini-test来测试框架。我尝试编写模型测试。

class Person
  include Mongoid::Document

  field :provider, type:String
  field :user_id, type:String
  field :name, type:String

  def self.create_with_omniauth(auth)
    create! do |person|
      person.provider = auth["provider"]
      person.user_id = auth["uid"]
      #user.name = auth["info"]["name"]
    end
  end

  def self.find_by_provider_and_uid(provider, uid)
    where(provider: provider, user_id: uid).first
  end

end

以上是我的模特。我想写一个测试,控制人是否有“create_with_omniauth方法”。

我该怎么写这个测试。我等你的想法?提前谢谢。

1 个答案:

答案 0 :(得分:2)

要完成此操作,您可以使用assert_respond_to

一个完整的例子:

class PersonTest < MiniTest::Unit::TestCase
  def test_responds_to_create_with_omniauth
     assert_respond_to(Person, :create_with_omniauth)
  end
end

我个人的意见是测试方法的行为,而不是断言它是否存在,但我会把它留给你。