2011/5/8 tadf <ko1 / atdot.net>:
> tadf    2011-05-08 17:18:10 +0900 (Sun, 08 May 2011)
>
>  New Revision: 31478
>
>  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=31478
>
>  Log:
>    * test/date/*.rb: use skip /w messages.
>
>  Modified files:
>    trunk/ChangeLog
>    trunk/test/date/test_date_attr.rb
>    trunk/test/date/test_date_base.rb
>    trunk/test/date/test_date_new.rb
>    trunk/test/date/test_date_strftime.rb
>
> Index: ChangeLog
> ===================================================================
> --- ChangeLog   (revision 31477)
> +++ ChangeLog   (revision 31478)
> @@ -1,3 +1,7 @@
> +Sun May  8 17:17:13 2011  Tadayoshi Funaba  <tadf / dotrb.org>
> +
> +       * test/date/*.rb: use skip /w messages.
> +
>  Sun May  8 17:04:55 2011  Tadayoshi Funaba  <tadf / dotrb.org>
>
>        * ext/date/lib/date/format.rb (_httpdate): omitted to call zone_to_diff.
> Index: test/date/test_date_new.rb
> ===================================================================
> --- test/date/test_date_new.rb  (revision 31477)
> +++ test/date/test_date_new.rb  (revision 31478)
> @@ -211,7 +211,7 @@
>   end
>
>   def test_weeknum
> -    skip unless Date.respond_to?(:weeknum, true)
> +    skip 'not provided'unless Date.respond_to?(:weeknum, true)

すでに revert されたようですが、せっかくなので開発者で共通認識をつくりたく
ruby-dev で少しばかりディスカッションさせてください。

まず、感謝の言葉から。さいきん、soraさんのtest機構の改善ももあり、
毎日 test-all する人が増えて、大変うれしく思っています。最近チェックアウト
したらドツボにハマった経験がすごく減っているのを感じます。

さて、周知のようにCI が成功するためのベストプラクティスに失敗テストを
少なく保つ事というのがあるんですが(割れ窓理論)、現在の rubyのユニット
テストでは skip メソッドの仕様がすごく悪くて、この要求に真っ向から反しています。

具体的にいうと、今回の場合ですと

 15) Skipped:
test_valid_ordinal(TestDateBase)
[/home/kosaki/linux/ruby-svn/ruby/test/date/test_date_base.rb:233]:
not provided

 16) Skipped:
test_valid_ordinal__edge(TestDateBase)
[/home/kosaki/linux/ruby-svn/ruby/test/date/test_date_base.rb:248]:
not provided

 17) Skipped:
test_valid_ordinal__england(TestDateBase)
[/home/kosaki/linux/ruby-svn/ruby/test/date/test_date_base.rb:291]:
not provided

 18) Skipped:
test_valid_ordinal__italy(TestDateBase)
[/home/kosaki/linux/ruby-svn/ruby/test/date/test_date_base.rb:274]:
not provided

 19) Skipped:
test_valid_time(TestDateBase)
[/home/kosaki/linux/ruby-svn/ruby/test/date/test_date_base.rb:424]:
not provided

 20) Skipped:
test_valid_weeknum(TestDateBase)
[/home/kosaki/linux/ruby-svn/ruby/test/date/test_date_base.rb:399]:
not provided

 21) Skipped:
test_weeknum(TestDateBase)
[/home/kosaki/linux/ruby-svn/ruby/test/date/test_date_base.rb:132]:
not provided

 22) Skipped:
test_weeknum__2(TestDateBase)
[/home/kosaki/linux/ruby-svn/ruby/test/date/test_date_base.rb:143]:
not provided

というような、ほとんど意味の無い文字列が結果画面に二画面分ぐらい
延々と表示されてしまって、肝心のEやFを見失ってしまいます。
また、私見ですが、'not provided' の12文字が有為に意味のある情報
だとは(わたしには)思えませんでした。

そのような事情もあり、最近はデベロッパーのみなさまに、特別にメッセージを
表示したい場合を除いてはskipよりもreturnを使うようお願いしています。
(もちろん、事情がある場合は別だと思います。本当にそのメッセージを
  毎日みたいのか?という事です)
# まあ、わたしも最初は無遠慮に skip つかって怒られたんですけど :-)

たぶん、returunを使う文化が skipが多発していたwindows方面から
自然発生的に生まれたので、明示的なディスカッションがあまりされてこなかった
のが原因の齟齬があるのではないかと思います。

そういうわけで、わたしとしては出来れば skip はあまり使って欲しくないし、
returnが好ましくないと思われる場所については、ディスカッションを通じて
どのような場合に skip のほうが望ましいのかについて共通認識をつくって
いきたいと思っているのですが、returnを使う(つまり、テスト結果画面で
スキップされた事が表示されなくなる)と困るという方はいらっしゃいますでしょうか?