Я пытаюсь проверить server plugin в рамках единичного теста. Я изо всех сил старался настроить модульные тесты так же, как this project.SDN4 - Интеграционное тестирование серверных плагинов neo4j
Проблема, которую я испытываю с моим кодом, связана с InProcessServer, созданным классом PersistenceContext. InProcessServer начинается с первого порта, доступного с 7474, и поэтому для моих тестов создается несколько InProcessServers, я думаю, потому что новые тесты выполняются до того, как порт из предыдущего теста закрыт?
Другими словами, во время выполнения теста, я найду в серверы процесса открыть в браузере на локальном хосте: 7474, локальный: 7475, локальный, 7476 и так далее ...
Конечно, это означает, что, когда он приходит к тестированию серверных плагинов, во время выполнения теста я не знаю, к какому порту я буду тестироваться, или к какой базе данных я собираюсь ударить. Если я запускаю тесты интеграции с плагином для сервера, они работают нормально.
Мои вопросы:
1) ли я понял, все это право в первую очередь?
2) Как проверить серверный плагин как часть более крупного интеграционного теста, если я не могу заранее указать порт вместе с плагином сервера uri? Есть ли чистый способ узнать порт сервера, который в настоящее время используется для тестирования во время выполнения?
У меня такая же проблема, как и у вас, когда мне нужно настроить порт во время компиляции. Вы когда-нибудь это решали? – Selwyn
Привет, Селвин - да, я давно это сделал, но решение теперь старое с выпуском 4.1. Если вы все еще интересуетесь тем, как я делал то, что я могу опубликовать, если вас все еще интересует. Я только что видел ваш комментарий. –
вы можете удержать его. Я думаю, что InProcessServer теперь устарел? Я переключился на «org.neo4j.ogm.drivers.embedded.driver.EmbeddedDriver», который, как мне кажется, устраняет необходимость настройки порта во время компиляции. – Selwyn