У меня есть этот EAR-файл, который я хочу протестировать с помощью arquillian.
Во время теста я сталкиваюсь с проблемами внедрения зависимостей, вызванными исключением потока ...
java.io.StreamCorruptedException: invalid stream header: 3C3F786D
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:857)
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:349)
at org.jboss.arquillian.protocol.servlet.ServletMethodExecutor.execute(ServletMethodExecutor.java:194)
at org.jboss.arquillian.protocol.servlet.ServletMethodExecutor$1.run(ServletMethodExecutor.java:250)
at java.util.TimerThread.mainLoop(Timer.java:555)
at java.util.TimerThread.run(Timer.java:505)
Я использую пролет 14.0.1 для испытаний, и ухо, кажется, разворачивается хорошо.
Код выглядит следующим образом:
@RunWith(Arquillian.class)
public class ArquillianTest {
@PersistenceContext(unitName = "PU")
EntityManager em;
@Deployment
public static EnterpriseArchive createDeployment() {
EnterpriseArchive ear = ShrinkWrap.createFromZipFile(EnterpriseArchive.class, new File(EAR_PATH));
WebArchive war = ear.getAsType(WebArchive.class, WAR_NAME);
war.addClass(MyTestClass.class);
ear.addAsModule(war);
return ear;
}
@Test
public void init() throws Exception {
Assert.assertTrue(true);
}
}
РЕДАКТИРОВАТЬ: Кажется, что это связанона тот факт, что http://127.0.0.1:8080/MyProject/ArquillianServletRunner?outputMode=serializedObject&className=com.mytest.MyTest.class&methodName=blancTest
возвращает XML вместо двоичного файла. Кто-нибудь знает, как этого избежать?