nDiki : 2011年01月19日

2011年1月19日 (水)

Test::More の TODO: は無意味

PerlTest::More を使ったテストを修正していて、fail するけど今すぐ直せないのがあったので TODO: { } で囲ったんだけれど何も変わらないじゃない。 あれそんな時は perldoc Test::More の TODO: BLOCK サブセクションでも TODO: { } で囲ってるじゃん。

「そもそもテストが TODO: な ブロック内だってことどうやって判定しているのよ、どんな Perl マジック?」と調べたら…… $TODO 変数設定されているか見ているだけだった(あるいは Test::More->builder->{Todo} が defined か)。 ドキュメント中の local $TODO = $why; の方が肝だった。 ああ、それは説明文するための optional な設定だと思ってたよ。

そもそも TODO: って文法的にはブロックの名前じゃなくてただのラベルか? ということで

 TODO: {
   local $TODO = $why;

   ok( foo(),       $test_name );
   is( foo(42), 23, $test_name );
 };

 {
   local $TODO = $why;

   ok( foo(),       $test_name );
   is( foo(42), 23, $test_name );
 };

でいい訳で。完全に人向けの飾りだった。

「TODO:」? あんなの飾りです。偉い人にはそれがわからんのですよ。

良い子のみんなは $TODO 多用しちゃ駄目だぞ。

2011年1月20日追記

@tokuhirom 情報より。

Test::More::todo_skip を使う場合は中で last TODO; しているので TODO: が必要。 ちなみに Test::More::skip の中では last SKIP; しているので SKIP: が必要。

スポンサード リンク

今日のさえずり: 1万円たれぱんだぬいぐるみとバイバイしてきた

うんこ!

2011年01月19日

  • 08:28 1万円たれぱんだぬいぐるみとバイバイしてきた。
  • 12:28 「うんこ!」っていうのがMOE絵本屋さん大賞第1位らしい。
  • 12:31 チラッと見たらうんこが歩いてた。
  • 12:34 ビッグマックセット 590円。 (@ マクドナルド 秋葉原昭和通り店) http://4sq.com/en9GEB
  • 12:35 この歳になってもうんこに弱い。
  • 12:46 これだ。 http://amzn.to/hkQT6N 子供は絶対喜ぶ。 RT @Naney: 「うんこ!」っていうのがMOE絵本屋さん大賞第1位らしい。
  • 14:35 Test::More で TODO: {} で囲めばいいの何故だろうってソースコード見たら勘違いだった。$TODO 見てるだけなのか(あるいは Test::More->builder->{Todo} が defined か)。 #Perl
  • 14:35 Test::More での TODO: {} のブロック名は何でもよかった。 #Perl
  • 14:36 Test::More->builder->todo_start と Test::More->builder->todo_end も理解した。 #Perl
  • 14:37 @__gfx__ 今時の TODO のやり方ってどんなですか? #Perl
  • 14:45 あ、TODO: {} の TODO: ってもしかしてただのラベルか。文法的に何だろって思ってた。 #Perl
  • 14:46 @__gfx__ perldoc Test::More 通りですね。
  • 14:49 「TODO:」? あんなの飾りです。偉い人にはそれがわからんのですよ。 #Perl
  • 15:23 Test::Harness の prove に --state なんてオプションがあったんだ。 prove --state=save して以降 prove --state=failed,save すると。 #Perl
  • 15:28 RT @pomchon: 1月23日は秋葉原の歩行者天国復活の日なので、私の会社は毎年祝日となるそうです。社長が朝礼で宣言しました。
  • 16:08 ああ、こういう場合は git-cherry-pick か。
  • 16:19 ちょっとドキドキするバグ発見。
  • 18:38 あれ、今 Test::Harness::TAP って無くなっちゃったのか。TAP仕様今いずこ。 #Perl
  • 18:42 Test-Harness-2.64 には Test::Harness::TAP がある。 #Perl
  • 18:46 本題は「このテストスクリプト、Thread::async で実行しているブロックの中で is() しちゃってて TAP で吐く test number が重複しちゃってるんですけど」。 #Perl
  • 18:58 @__gfx__ とりあえず : shared な変数に結果を入れて join してからまとめて is() するようにしました。
  • 19:01 @__gfx__ perldoc Test::More 再びみてみました。ほんとだ use threads; use Test::More しましょうって書いてありますね。 #Perl
  • 19:04 use threads; use Test::More; したらサクッと直った。 TNX @__gfx__
  • 19:55 Xperiaアイコンが 3G になったり H になったりする。
  • 21:04 NTTドコモ電池パック安心サポート、スマートフォンは7月1日から要1500ポイントになるのか。4月になったらすぐもらいにいこう。
[ 1月19日全て ]

About Me

Naney Naney (なにい)です。株式会社ミクシィで SNS 事業の部長をしています。

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。ちょっとしたノートは nNote にあります。

※内容は個人的見解であり所属組織とは関係ありません。

follow us in feedly

月別インデックス
Process Time: 0.043651s / load averages: 0.15, 0.25, 0.27
nDiki by WATANABE Yoshimasa (Naney, Google profile)
Powered by DiKicker