トップ «前の日記(2005-01-28) 最新 次の日記(2005-01-30)» 編集

3 日坊主日記


2005-01-29 [長年日記]

_ [Rails] test を何度も実行する

Rails はたくさん require するので、start するまでの待ち時間が気になる。なので

require File.dirname(__FILE__) + '/../test_helper'
require 'customer_controller'
  
# Re-raise errors caught by the controller.
class CustomerController; def rescue_action(e) raise e end; end
  
if __FILE__ == $0
  begin
    Dir.glob(File.dirname(__FILE__)+'/customer_controller_test_*.rb') do |ent|
      load ent
    end
    Test::Unit::AutoRunner.run($0 != "-e" && $0)
  end while gets
end

このように、何度も実行できるようにするといいと思う。test を書き換えても反映される (副作用が心配だけど)。

ただ、fixtures を使うと2回目からうまくいかない (fixtures は setup を書き換える)。代わりに create_fixtures を setup に書くようにするとうまくいった。インスタンス変数に格納しなくなる (fixtures.rb 参照) けど、使わないから問題なし。

_ [qmail] tai64nlocal

class TC_Tai64NLocal < Test::Unit::TestCase
  def test_tai64nlocal
    birth = '@4000000041e81818365f8864'
    assert_equal(Time.local(2005,1,15,4,5,50), Time.at(birth[9,8].hex-10))
  end
end
[]