Как обычно бывает в визуальных приложениях, у меня есть некоторый код, в котором данные хранятся в визуальном компоненте (компонент TTreeView). Я рефакторинг кода и создание модульных тестов для логики.
Единственная визуальная форма в моем тестовом проекте - GUITestRunner. В будущем я планирую запускать тесты в виде консольного приложения на сервере непрерывной интеграции, поэтому у меня не будет никакой формы.
Когда я пытаюсь создать виджет TTreeView без родителя и использовать его, я получаю следующую ошибку:
Control '' has no parent window
Какой лучший способ создать виджет в моем методе SetUp набора тестов и уничтожить его в TearDown? Можно ли использовать визуальный виджет в консольном приложении? Мне не нужно отображать его или даже обрабатывать события. Мне просто нужно создать дочерние узлы и получить доступ к данным.
Мне удалось заставить его работать с безобразным хаком, но я хотел бы знать, есть ли какая-то стандартная практика.
Конечно, в моем солнечном и далеком будущем я буду рефакторинг кода этой формы из 21 тысячи строк, все мои данные будут в красивых структурах данных, и такого рода тесты не понадобятся, но теперь мне это нужно .