2011-01-28 8 views
0

libディレクトリに配置されたクラスに対していくつかのテストを実行するカスタムRakeタスクを作成しようとしています。これはモデルを必要としない基本的なテストでは機能しますが、実際にはいくつかのモデルを使ってテストする必要があります。より高度なレーキの使用法への私の最初の進出であり、他のいくつかのハードルを経て、私はConnectionNotEstablishedエラーを取得することに固執しています。ここでカスタムTestTaskでConnectionNotEstablishedエラーが発生しました

はrakeタスクです:

Rake::TestTask.new(:test => 'db:test:prepare') do |test| 
    test.libs << 'test/sync' 
    test.test_files = Dir['test/sync/*_test.rb'] 
    test.verbose = true 
end 

ここConnectionNotEstablished例外を発生させるテストがあります:

require 'rubygems' 
require 'app/models/city' 
require 'foo' 
require 'test/unit' 

class SyncTest < Test::Unit::TestCase 
    @@sync = Foo::Sync.new('test') 

    def test_cities 
    assert City.all.size == 2 # the exception is raised at this point 
    @@sync.cities 
    assert City.all.size == 102 
    end 
end 

はここで実際に働いているユニットテストです:

require 'test_helper' 

class CityTest < ActiveSupport::TestCase 
    test "the truth" do 
    assert City.all.size == 2 
    end 
end 

私は」私のテストクラスをActiveSupport::TestCaseの代わりにの代わりに使ってみましたしかし、それでもConnectionNotEstablishedエラーが発生します。私は確かに何か間違っている、誰かが何を見つけるか、それを行うためのよりよい方法を教えてくれますか?

答えて

0

ようやく問題は、私がすることによって二つの第一requireの呼び出しに置き換えてきたものを見つけたI:

require 'test_helper' 

をしてTestTaskのLIBSにテストディレクトリを追加した属性:

test.libs << 'test' 
関連する問題