Списки или массивы в качестве параметра в тестах, управляемых самыми легкими
Этот вопрос очень специфичен(но я не знаю лучшего места, чтобы спросить).
Есть ли способ использовать параметры типа Array или List? Возможно, есть символ разделителя, который можно использовать следующим образом (таблица Excel):
testMethod doubleList stringList 3.5,3.4,6.7 a, b, c
(разделитель char здесь ',') Так что я получаю два параметра List doublelist и List stringList. На данный момент я делаю это вручную: использую все в качестве параметра String и делю их на ','. и затем преобразование отдельных строк в нужный тип. Есть ли более простой способ с easytest?
2 ответа
Вы просто используете ":" в качестве разделителя, а EasyTest разбивает строку в коллекцию для вас.
Javadoc аннотации @Param в EasyTest говорит:
"Если вы хотите передать тип Collection, то среда EasyTest предоставляет функциональные возможности для создания экземпляра класса Collection для вас и передачи правильного универсального параметра, если это возможно. Например, если у вас есть такой тестовый метод:
@Test
public void testArrayList(@Param(name="items") ArrayList<ItemId> items){
Assert.assertNotNull(items);
for(ItemId item : items){
System.out.println("testArrayList : "+item);
}
}
тогда все, что вам нужно сделать, это: передать список itemIds как разделенный ":" список в файле тестовых данных (XML, CSV,Excel или пользовательский), например: 23:56:908:666
и зарегистрируйте редактор или конвертер для преобразования данных String в объект. Если аргумент универсального типа для Collection является стандартным типом Java (Date, Character, Timestamp, Long, Interger, Float, Double и т. Д.), Вам не нужно ничего делать, и среда позаботится о преобразовании данных String. к запрошенному типу."
EasyTest работает на основе строк (насколько мне известно). Они не дали каких-либо положений для обработки списка объектов. Я использую так же. Я чувствую, что это проще для примитивных типов, но как насчет списка объектов..?