Я хочу запустить свои интеграционные тесты поверх play.test.TestServer.Поэтому все тесты будут просто отправлять запросы Http в TestServer и подтверждать результаты Http.
Однако, если я запускаю TestServer в наборе тестов методов @BeforeClass, для запуска всех интеграционных тестов требуется так много времени, что мне нужнозапускать и останавливать сервер воспроизведения для каждого набора.
Поэтому я решил запустить тестовый сервер воспроизведения, используя метод sbt Tests.Setup
Tests.Setup(loader=>
loader.loadClass("it.PlayTestRunner")
.getMethod("startup")
.invoke(null)
)
Я могу вызвать метод запуска, но он выдает ниже исключения
Caused by: java.lang.ClassNotFoundException: tyrex.naming.MemoryContextFactory
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at com.sun.naming.internal.VersionHelper12.loadClass(VersionHelper12.java:72)
at com.sun.naming.internal.VersionHelper12.loadClass(VersionHelper12.java:61)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:672)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:313)
at javax.naming.InitialContext.init(InitialContext.java:244)
at javax.naming.InitialContext.<init>(InitialContext.java:216)
at play.api.libs.JNDI$.initialContext$lzycompute(JNDI.scala:40)
at play.api.libs.JNDI$.initialContext(JNDI.scala:22)
at play.api.db.HikariCPConnectionPool$$anonfun$1$$anonfun$apply$2.apply(HikariCPModule.scala:63)
Я полагаю, что эта проблема связана с загрузкой классов JNDI-объектов.
Знаете ли вы какие-либо идеи по преодолению этой проблемы?