Rails + Cucumber で Culerity を使うと、 以下のような WARNING が大量に発生する。 これでは、いくらテストがgreenでも精神はredになってしまう。
1 % cucumber features/foo.feature 2 Using the default profile... 3 2010/01/20 18:43:57 com.gargoy lesoftware .htmlunit. Incorrectn essListene rImpl notify 4 警告: Obsolete content type encountere d: 'text/javas cript'. 5 2010/01/20 18:43:58 com.gargoy lesoftware .htmlunit. Incorrectn essListene rImpl notify 6 警告: Expected content type of 'applicatio n/javascri pt' or 'applicatio n/ecmascri pt' for remotely loaded JavaScript element at 'http://z-e cx.images- amazon.com /images/G/ 01/nav2/ga mma/amazon JQ/amazonJ Q-combined -core-5113 ._V2283059 08_.js', but got 'applicatio n/x-javasc ript'. 7 (...) 8 . 9 10 1 scenario (1 passed) 11 1 step (1 passed)
この警告メッセージは、 HtmlUnit が吐いているものであるが、
Culerity::
1 % vi features/step_defini tions/cule rity_steps .rb 2 - $browser.log_level = :warning 3 + $browser.log_level = :severe
(celerity の default は :off だが、culerity が :warning にしている)
上記の修正によって、WARNING の表示が抑制される。
1 % cucumber features/foo.feature 2 Using the default profile... 3 . 4 5 1 scenario (1 passed) 6 1 step (1 passed)
新規プロジェクトの度に毎回変更するのが面倒であれば、 generator の template を直接変更するのもいいかもしれない。
1 % vi $GEM_PATH/gems/culerity-0.2.7 /rails_gen erators/cu lerity/tem plates/fea tures/step _definitio ns/culerit y_steps.rb
指定可能な log_level は、 (高) :all, :severe, :warning, :info, :config, :fine, :finer, :finest, :off (低) であり、実際に以下のコードで確認することができる。(JRuby)
1 % irb 2 irb(main):001:0> java.util.logging.Level.constants 3 => ["FINE", "CONFIG", "FINEST", "FINER", "WARNING", "SEVERE", "OFF", "INFO", "ALL"]
log level に関するさらなる詳細は java.util.
http://jav
posted by
maiha
on Wed 20 Jan 2010
at 10:39