模拟一个Active Record抽象类以及如何在rails test :: unit/mocha中存根一个nil对象?

sum*_*man 5 unit-testing ruby-on-rails mocking mocha.js testunit

我有两个问题

1.如何在rails测试用例中存根nil对象.

2.Mock一个Active Record Abstract类

  1. 我有一个带有测试数据库X_test的应用程序X,现在我需要存根一个不存在的数据库y_test,它实现了Active Record对象并且是一个抽象类

例如

Y::table.find_by_email("hello@gmail.com").selected_lan["iden"]

      module Y
        class table <Base
          belongs_to:selected_lan, :class =>lan
          def self.find_by_email(iden)
           find_by_email(license_iden)
          end
        end
     end

    module Y
       class Base <ActiveRecord::Base
         self.abstract_class = true
       end
    end
Run Code Online (Sandbox Code Playgroud)

Ant*_*ony 2

Y::table.expects(:find_by_email).with('some@email.com').returns(nil)
Run Code Online (Sandbox Code Playgroud)