«前の日記(2009-10-06) 最新 次の日記(2009-10-08)» 編集

会長@腹部日記


2009-10-07 [長年日記]

_ Railsにおけるモデルのユニットテストで、rcodetoolsを少し試してみる - (2)

同期から

xmpfilter -u を使え、ルーク

とマスターヨーダのごときありがたき言葉をもらったので、やってみました。

環境等は前と同じです。

xmpfilter -u を実行

元テストコード

  test "has_one" do
    @hoge.foo       # =>
    @hoge.foo = Foo.new
    @hoge.foo       # =>
    @hoge.foo.save! # => 
    @hoge.save!     # => 
    @hoge.foo       # =>
  end

xmpfilter -u の出力

{{code_prettify <<EOS

> xmpfilter.bat -u test\unit\hoge_test.rb
 (略)
 test "has_one" do
   assert_nil(@hoge.foo)
   @hoge.foo = Foo.new
   assert_kind_of(Foo, @hoge.foo)
   assert_equal("#<Foo id: 2053932786, name: nil, hoge_id: 2053932786, created_at: \"2009-10-07 13:55:40\", updated_at: \"2009-10-07 13:55:40\">", @hoge.foo.inspect)
   assert_equal(true, @hoge.foo.save!)
   assert_equal(true, @hoge.save!)
   assert_kind_of(Foo, @hoge.foo) # !> `*' interpreted as argument prefix
   assert_equal("#<Foo id: 2053932786, name: nil, hoge_id: 2053932786, created_at: \"2009-10-07 13:55:40\", updated_at: \"2009-10-07 13:55:40\">", @hoge.foo.inspect)
end

EOS }}

おおっ、assert_xxxxx を書いてくれました。

注意

上記の

 @hoge.foo.inspect
で出力されている、hoge_idや、created_at、updated_atは環境で値が異なると思います。ActiveRecordそのものをassert対象とせず、一部属性をassert対象とするほうがよいのかもしれません。

私的まとめ

誰も見てくれないTracのWikiページに、以下のような記述を追加しようと思います。

テストコード書く時間が無いかもしれませんが、
rcodetoolsを用いたならば、必要最低限のテストコードは、5分もあれば残しておけます。
今後の保守、テスト精度向上のため、ご協力ください。

_ 腹筋励ましiPhoneアプリ i-Fukkin - (2) 芸が細かい

2日目以降の芸の細かさに驚きました。

起動画面

photo

こんなこと言われたら

痩せちゃいます。きっと!

photo

_ きょうのつぶやき : 96回