Я пишу модульный тест для проекта JERSEY.Как проверить методы контроллера JERSEY с UriInfo
Для методов без строки запроса я могу просто создать экземпляр контроллера и вызвать метод.
Также работайте с аргументом в пути, потому что они отображаются в виде строковых аргументов метода.
Но когда я queryStrings режим имеет специальный аргумент (@Context UriInfo url)
Как я могу построить аргумент UriInfo в моих модульных тестов? Почему у этого класса нет конструктора?
Ее очень необычно, чтобы испытать Джерси ресурс вне контейнера, и вид контрпродуктивным. Вещи, которые не будут работать? Ресурсы, вводимые контейнером, интерпретация пути, извлечение параметров, локаторы подресурсов ... список продолжается. Если вы действительно хотите проверить свои классы ресурсов JAX-RS, вы должны сделать это со стороны *** клиента ***. – Perception
Я также могу запустить некоторый тест в контейнере tomcat, но затем в терминах отладочного модульного теста анализа кода покрытия кода. Я полностью слеп, потому что они работают на 2 отдельных процесса. –
Если вы запускаете автономный Tomcat с развернутым приложением, вы можете запустить соответствующий тест jUnit против него, который использует клиентскую библиотеку для проверки ресурсов. Вы можете использовать клиентские библиотеки Jersey или даже Apache HttpComponents для создания этих тестов. – Perception