10 testing rubygems ruby-on-rails
我正在创建一些可以在Rails控制器和视图中使用的gem.我希望能够独立测试宝石.但是我无法弄清楚如何在gem中创建一个Rails实例来测试gem将在Rails应用程序中运行.
我非常喜欢使用RSpec,但可能会调整Test :: Unit解决方案,或者只使用Test :: Unit.
我也对Rails插件的类似解决方案感兴趣.
(我试过Googling,但是"rails gem testing"显示了我用于测试的宝石,而不是如何测试宝石.我很确定我已经看过一篇关于这个主题的文章.)
Aug*_*aas 12
看看其他插件(插件和宝石,同样的东西)测试套件.
测试增强Active Record的插件非常简单.您可以在任何地方使用Active Record,因此在这种情况下您需要做的就是将Active Record连接到数据库(例如内存中的sqlite数据库)并测试您的codez.
# test/test_helper.rb
$LOAD_PATH << File.join(File.dirname(__FILE__), '..', 'lib')
require 'your_thing'
ActiveRecord::Base.establish_connection(:adapter => "sqlite3", :database => ":memory:")
ActiveRecord::Schema.define(:version => 1) do
create_table :posts do |t|
t.string :title
t.text :excerpt, :body
end
end
class Post < ActiveRecord::Base
validates_presence_of :title
end
# test/my_test.rb
require 'test_helper'
class MyTest < Test::Unit::TestCase
def test_thing
# use Post here
end
end
Run Code Online (Sandbox Code Playgroud)
当你想测试控制器动作等时,它会变得更难.我的实时验证插件有一个非常广泛的测试套件,可以模拟很多东西并让我将ERb视图作为字符串传递,你可以看一下.
将这些Test :: Unit示例改编为RSpec应该是微不足道的,因为它们不会依赖于Test :: Unit中的任何内容.
| 归档时间: |
|
| 查看次数: |
3213 次 |
| 最近记录: |