Ich habe einige Komponententests, die sehr große Zeichenfolgen für die Testdaten erfordern. Ich möchte die HTML-Zeichenfolge im Test selbst nicht deklarieren, da dies den eigentlichen Test verdecken kann. Stattdessen möchte ich diese Zeichenfolgen für jeden Test von einer externen Ressource laden.Schreiben eines parametrisierten Tests fehlgeschlagen mit: Beim Abrufen der Parameter für den Testfall ist ein Fehler aufgetreten: ungültiger Wert für das parametrierte Feld
Obwohl ich nicht den gleichen Test mit verschiedenen Datensätzen durchführe, scheint parametrisierte Tests eine praktikable Lösung zu sein; Ich habe jedoch Schwierigkeiten, das folgende Beispiel zur Arbeit zu bringen.
Hinweis: Dieser Code basiert auf der TestNG example.
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"));
}
}
}
Als ich führen Sie diesen Test habe ich die folgende Fehlermeldung angezeigt:
Error: There was an error retrieving the parameters for the testcase: cause invalid value for parameterized field htmlContent: null
Irgendwelche Gedanken darüber, was die Lösung für dieses Problem sein könnte sein könnte?