Beim Schreiben von Komponententests für eine Funktion boolean, die zwei StringSekunden zurückgibt, musste ich jedes Zeichen des Alphabets ( 'a'- 'z') nacheinander als einen der Parameter einzeln testen. Dazu habe ich Folgendes geschrieben:
for(char c = 'a'; c <= 'z'; c++)
{
assertTrue(MyClass.MyFunction(testSubject, new String(c));
}
Ich hätte gedacht, dass dies zulässig ist, aber es war nicht so, also habe ich es stattdessen einfach so gemacht:
for(char c = 'a'; c <= 'z'; c++)
{
assertTrue(MyClass.MyFunction(testSubject, ((Character) c).toString());
}
Ist dies eine zuverlässige Methode, um chara Stringin Java in a zu konvertieren ? Ist es der bevorzugte Weg? Ich weiß nicht viel über Java und möchte daher einige Erläuterungen dazu.
IntStream.rangeClosed('a', 'z')?
StringKonstruktor aufzurufen , der nicht existiert? Korrigieren Sie mich, wenn ich falsch liege, aber soweit mir bekannt ist, gibt es in der Klasse keinen Konstruktor String, der ein einziges charArgument akzeptiert. Beachten Sie, dass dies charnicht dasselbe ist wie char[].
IntStream.range(0, 26).mapToObj(i -> Character.toString((char) ('a' + i))).forEach(x -> assertTrue(MyClass.MyFunction(testSubject, x)));