ruby-on-rails – 测试使用ActiveRecord模型的gem
发布时间:2020-12-16 19:18:06 所属栏目:百科 来源:网络整理
导读:我写了一个gem,如果你传入一个ActiveRecord模型,它会将数据导入你的数据库.例如: importer = Importer.new(Widget)importer.import(data_source) 有没有一个好方法来测试这个宝石?我会以某种方式需要连接到测试数据库并创建一个测试模型.谢谢! 解决方法
我写了一个gem,如果你传入一个ActiveRecord模型,它会将数据导入你的数据库.例如:
importer = Importer.new(Widget) importer.import(data_source) 有没有一个好方法来测试这个宝石?我会以某种方式需要连接到测试数据库并创建一个测试模型.谢谢! 解决方法
大多数灵感来自这篇文章:
http://blog.markstarkman.com/blog/2013/01/23/using-sqlite-to-test-active-record-models/ 首先,在您的gemspec中,您可以添加ActiveRecord和sqlite3作为依赖项,如下所示: spec.add_development_dependency "activerecord","~> 4.0.0" spec.add_development_dependency "sqlite3" 然后在spec / schema.rb中,您可以像这样定义您的模式: ActiveRecord::Schema.define do self.verbose = false create_table :users,:force => true do |t| t.string :key t.string :name t.integer :age t.datetime :dob t.timestamps end end 然后,您可以在models.rb文件中创建模型: class User < ActiveRecord::Base end 在spec_helper.rb中,您希望连接到内存中的sqlite数据库,加载模式并需要模型: require 'active_record' ActiveRecord::Base.establish_connection adapter: "sqlite3",database: ":memory:" load File.dirname(__FILE__) + '/schema.rb' require File.dirname(__FILE__) + '/models.rb' (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |