Я хотел бы выполнить тест с параметризацией JUnit с внешними данными. У меня есть список объектов, и мне просто нужно знать, как я могу преобразовать их в коллекцию массивов объектов. Я вижу следующий вопрос переполнения стека, но я хочу добавить данные из файла, который считывается из моего метода.Конвертировать список <T> в коллекцию <Object[]> для параметризованного теста JUnit
Parameterized JUnit tests with non-primitive parameters?
Рабочий код: что-то вроде этого:
@RunWith(Parameterized.class)
public class sampletest {
private BranchMailChildSample branch;
public sampletest(BranchMailChildSample branch)
{
this.branch = branch;
}
@Parameters
public static Collection<Object[]> data()
{
String excel = "C:\\Resources\\TestData\\ExcelSheets\\BranchMail\\branchmail_TestData.xlsx";
ExcelMarshallerTool tool = new ExcelMarshallerTool(excel);
List<BranchMailChildSample> items = tool.unmarshallExcel(BranchMailChildSample.class);
//RIGHT HERE I NEED HELP: Convert list to Collection<Object[]>
//return items as Collection of object arrays
}
@Test
public void test()
{
System.out.println(branch.toString());
}
}
Это будет лучше создать ожидаемый 'List' и проверить соответствующий код .. –
я могу сделать это, но я хотел бы Тонкость иметь его показать, как несколько тестов в JUnit плагин , Если один из объектов в этом списке терпит неудачу, тогда весь тест завершится с ошибкой. Для отладки потребуется больше времени, чем если бы у меня был снимок каждой части данных. – CodyK
Вы можете объявить список как поле класса, инициализировать его и заполнить его методом '@ Before', а затем использовать его по своему желанию. Это не то же самое, что при использовании других фреймворков, но это вариант. –