1

我希望编写一些单元测试,让我可以像在 Rails 中一样构建/测试非存根 CRUD 函数,但我想使用最少数量的 gem(测试单元和活动记录)。

有人知道任何可能有帮助的资源吗?

谢谢

4

1 回答 1

1

不知道任何专门关于此的资源。要让活动记录在一个简单的测试中工作,您只需要设置连接详细信息和模型类,假设您有一个与活动记录约定匹配的现有数据库可以使用。不知道你处于什么阶段,但如果你只需要一个简单的例子:

require 'rubygems'
require 'active_record'
require 'test/unit'

ActiveRecord::Base.establish_connection(
  :adapter  => 'sqlite3',
  :database => 'db/my.db'
)

# Assuming a table like:
# CREATE TABLE people (id INTEGER PRIMARY KEY, name VARCHAR(100) NOT NULL, age INTEGER NOT NULL);
class Person < ActiveRecord::Base
end

class TestActiveRecord < Test::Unit::TestCase
  def setup
    @bob = Person.create(:name => 'Bob', :age => 95)
  end

  def teardown
    @bob.destroy
  end

  def test_find_bob
    bob = Person.find_by_name('Bob')
    assert_not_nil(bob)
    assert_equal(95, bob.age)
  end
end

除了活动记录本身所依赖的那些之外,这里没有涉及其他宝石。

您必须根据所使用的数据库适配器的类型确定所需的配置设置。如果您的数据库模式不符合活动记录约定,那么您还必须在模型类中指定一些映射。

于 2011-03-05T21:01:20.280 回答