Ich möchte eine Testmethode in einer meiner Klassen umbenennen, die eine große Anzahl von parametrisierten Objekten verwendet.Rename parametrisierte testMethod
Zum Beispiel, wenn ich ein Testverfahren eingerichtet haben, etwa so:
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
/**
* Unit test for simple App.
*/
public class AppTest
{
static class data_class{
public String name;
public String two;
public data_class(String name, String two){
this.name = name;
this.two = two;
}
}
@DataProvider(name = "prov1")
public static Object[] prov1(){
return new Object[] { new data_class("one", "one"), new data_class("two", "two") };
}
@Test(dataProvider="prov1")
public void testApp(data_class input)
{
System.out.println(String.format("Name: %s Two: %s", input.name, input.two));
}
}
Der Ausgang eines Testlaufs (in Eclipse, todsichere xml Berichte ähnlich sind), um diese Ausgabe zeigt, fällt der Methodenname ist testApp mit der Objekt-ID der Klasse als einziges Unterscheidungsmerkmal:
ich ausgeben will eine benutzerdefinierte Zeichenfolge als entweder die Testmethode Namen oder die Parameter so in Jenkins ich einfach, was Testfall brach sehe die Tests.
Ich habe versucht, einen Anmerkungshörer zu erstellen, der IAnnotationTransformer
implementiert, aber wenn ich annotation.setTestName("test")
ausgeführt hatte, hatte es keine Auswirkung auf die Ergebnisausgabe.
Wie kann ich das erreichen?
Haben Sie eine 'toString()' impl auf 'data_class' versucht? Abgesehen davon ist 'data_class' nicht der größte Klassenname. Klassennamen in Java werden per Konvention aktiviert und CamelCase. z. B .: 'MyClass' – Taylor