Під час написання одиничних тестів для функції, що повертається, boolean
що займає дві String
секунди, і мені потрібно було протестувати кожен символ алфавіту ( 'a'
- 'z'
) послідовно як один з параметрів один за одним, тому я написав це для цього:
for(char c = 'a'; c <= 'z'; c++)
{
assertTrue(MyClass.MyFunction(testSubject, new String(c));
}
Я вважав би це допустимим, але це не так, тому я просто зробив це так:
for(char c = 'a'; c <= 'z'; c++)
{
assertTrue(MyClass.MyFunction(testSubject, ((Character) c).toString());
}
Це надійний метод перетворення a char
на String
Java? Це кращий спосіб? Я не знаю багато чого про Java, тому хотілося б прояснити це.
IntStream.rangeClosed('a', 'z')
?
IntStream.range(0, 26).mapToObj(i -> Character.toString((char) ('a' + i))).forEach(x -> assertTrue(MyClass.MyFunction(testSubject, x)));