1

我使用迷你测试来测试框架。我尝试编写模型测试。

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 方法”。

我该如何编写这个测试。我等你的想法?提前致谢。

4

1 回答 1

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

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

于 2013-03-13T09:40:12.580 回答