私たちはPerlでさまざまな科学データフォーマットのパーサを書いています。最近私はすべてのフォーマットとサブフォーマットに対してparser_*.t
ファイルを持つテストスイートを追加しました。もちろん外部サブによって実行される追加のテストを計画するにはどうすればよいですか?
、パーサのAPIはまったく同じパース異なっをテストするために使用されているサンプルファイルから読み込まれたデータのみです。テストファイルを単純化するために、パーサーオブジェクトと予想されるデータを表すハッシュ構造を渡すサブを書きました。それは
my $parser = new MyApp::Parser($file);
test_nested_objects = ($parser, {
property1 => "value",
property2 => 123,
subobject_accessor => {
property3 => "foobar",
}
}
ハッシュをウォークスルーし、ハッシュで定義されたすべてのプロパティのテストを実行しますtest_nested_objects
サブ、例えばのように見えますsubobject_accessor
を呼び出すことができる場合は、オブジェクトを返し、そのオブジェクトはproperty3
と呼びます。
*.t
ファイル全体で実行されたテストの数を確認し、すべて*.t
ファイルにtests => 123
を追加しました。さて、いくつかのチェックをジェネリック関数に追加し、すべての計画が間違っています。
私の計画にサブテストを認識させるには?私は、次のことを実現したいと思います:
- 数を私が実際に解析されたデータに間違っているかどうかを知る必要があるため、サブを隠すと0または1だけを返すことは受け入れられません)
私はあなたが理解できれば分かりますか?長い話をして申し訳ありませんが、人々は何らかの背景知識なしではおそらく理解できないと考えました。