Я использую Google Appengine для Java (GAE / J). Сверху использую REST-фреймворк Jersey.
Теперь я хочу запустить локальные тесты JUnit. Тест
- настраивает локальную среду разработки GAE (http://code.google.com/appengine/docs/java/tools/localunittesting.html),
- запускает встроенный сервер Jetty,
- а затем отправляет запросы на сервер через HTTP и проверяет ответы.
К сожалению, комбинация Jersey / Jetty порождает новые темы. GAE ожидает, что будет запущен только один поток. В конце концов, у меня либо нет хранилища данных внутри ресурсов Джерси, либо несколько, имеющих разные хранилища данных.
В качестве обходного пути я инициализирую локальный env GAE только один раз, помещаю его в статическую переменную и внутри ресурса GAE добавляю много проверок (в этих потоках нет dev env? Используйте статический env повторно). И эти проверки должны, конечно же, выполняться только внутри тестов JUnit ... (о чем я раньше спрашивал: «Как я могу узнать, выполняется ли код внутри теста JUnit или нет?» - Мне не разрешено разместить ссылку прямо здесь: - |)