2

私は通常、この方法で Perl テストを作成します

 for my $i ( 0, 1, 2 ) {
    is_deeply( $fetch_public_topic_ids->[$i],
 $expected_sorted_topic_list->[$i], 'Match' );

when$expected_sorted_topicはテスト ケース データの配列参照です。「for」に 0、1、2、3... または 0...5 を記述するのは「悪いスタイル」と見なされるため、避けるべきであるというフィードバックを時々受け取ります。

しかし、代わりにどのような選択肢がありますか?

4

3 に答える 3

5

なぜループをまったく使用しているのですか?

あなたはただできるはずです

is_deeply( $fetch_public_topic_ids, $expected_sorted_topic_list );
于 2013-07-22T05:49:40.340 に答える
5

配列のインデックスを反復処理したいが、インデックスの決定に配列の数字がない。問題は、インデックスのハードコーディングです。

for my $i (0..$#$fetch_public_topic_ids) {
   ...
}
于 2013-07-22T03:41:32.340 に答える
1

テストをハッシュの配列に入れます。

my @tests = (
    {
        fetch_public_topic_ids     => [ "whatever" ],
        expected_sorted_topic_list => [ "whatever" ],
        test_name                  => "Match",
    },
    # repeat as needed
);

for my $test ( @tests ){
    is_deeply( $test->{ fetch_public_topic_ids     },
               $test->{ expected_sorted_topic_list },
               $test->{ test_name                  },
           );
}
于 2013-07-22T12:09:37.450 に答える