Самый легкий путь к модульному тесту SWT и приложения Swing в бездисплейной среде?

Простой это стоило денег, чтобы записать и обновить модульные тесты. Большинство компаний предыдущее программное обеспечение не имеет модульных тестов и будет стоить слишком много для записи. Таким образом, они не делают этого, и это добавляет время к процессу разработки, таким образом, они также не добавляют его к новым возможностям.

14
задан Allain Lalonde 16 October 2009 в 13:18
поделиться

4 ответа

Вы можете запустить Xvfb (виртуальный фреймбуфер X, сервер X11, который выполняет все графические операции в памяти), и это работает нормально.

Но есть другое решение с Плагин Хадсона для Xvnc. Просто установите плагин и установите флажок на экране конфигурации задания:

замещающий текст http://www.justinedelson.com/blog/wp-content/uploads/xvnc_box.jpg[12105estiveHudson автоматически запустит Xvnc session и установите для переменной среды DISPLAY соответствующее значение, а затем завершите сеанс после завершения сборки. Одно из преимуществ этого метода перед методом Xvfb заключается в том, что если у вас одновременно создается несколько проектов Swing / SWT, каждая сборка имеет свой собственный X-сеанс. Это может не быть проблемой, но кажется хорошей идеей.

Перед использованием этого подключаемого модуля, очевидно, что у вас должен быть установлен Xvnc. Менее очевидно (хотя и разумно) то, что вы также должны установить пароль. Вы делаете это, запустив:

$ vncpassword

Это должно быть сделано тем же пользователем, под которым работает Хадсон.

24
ответ дан 1 December 2019 в 09:02
поделиться

Попробуйте Abbot Java GUI Testing Framework и SWTbot . По крайней мере, SWTbot должен быть в состоянии сделать это .

Если ни один из них не предлагает безголовый режим, то этот пост в блоге может дать вам несколько идей, как избавиться от пользовательского интерфейса для тестирования .

3
ответ дан 1 December 2019 в 09:02
поделиться

Я не знаю о SWT, но с Swing вы не можете. Любой экземпляр окна (JFrame, JDialog и т. Д.), Даже если он никогда не установлен как видимый, взорвется в режиме без заголовка (в JDK 5). Мы не запускали в автономном режиме и не устанавливали Xvfb для обеспечения работы с окнами без фактической установки реальной системы управления окнами.

0
ответ дан 1 December 2019 в 09:02
поделиться

Использование Swing Я стараюсь организовать вещи так, чтобы дерево компонентов могло быть создано без окна наверху. Это позволяет вам просто создать JPanel в модульном тесте и использовать его в качестве компонента верхнего уровня. Есть определенные вещи, которые вы не можете проверить, например, фокус и любую логику, задействованную в создании фрейма для нормальной работы, но подавляющее большинство из них можно проверить.

Вы можете изучить библиотеку FEST, чтобы облегчить жизнь, будь то ты идешь без головы или нет, это выглядит очень хорошо: http://fest.easytesting.org/swing/wiki/pmwiki.php

2
ответ дан 1 December 2019 в 09:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: