テストデータに非常に大きな文字列を必要とする単体テストがいくつかあります。テスト自体でHTML文字列を宣言したくないのは、実際のテストがわかりにくくなる可能性があるためです。むしろ、テストごとに外部リソースからこれらの文字列をロードしたいと思います。
異なるデータセットで同じテストを実行していませんが、パラメーター化されたテストは実行可能なソリューションのようです。ただし、次の例を機能させるのに問題があります。
注:このコードは、 TestNGの例に基づいています。
package flexUnitTests
{
import helpers.HTMLDataHelper;
import org.flexunit.runners.Parameterized;
import org.hamcrest.assertThat;
import org.hamcrest.text.containsString;
[RunWith("org.flexunit.runners.Parameterized")]
public class SimpleTestCase
{
private var parameterized:Parameterized;
public static var dataLoader:HTMLDataHelper = new HTMLDataHelper("data/layer.html");
[DataPoint(loader="dataLoader")]
public static var htmlContent:String;
[Test(dataprovider="htmlContent", description="Tests something.")]
public function mustPassThisSimpleTest(htmlContentParam:String):void
{
assertThat(htmlContentParam, containsString("head"));
}
}
}
このテストを実行すると、次のエラーメッセージが表示されます。
エラー:テストケースのパラメーターの取得中にエラーが発生しました:パラメーター化されたフィールドの値が無効になりますhtmlContent:null
この問題の解決策は何でしょうか?