- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我还有另一个不工作的 Arquillian 测试:
@RunWith(Arquillian.class)
public class SomeTest {
private static final String APPLICATION_XML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
+ "<application xmlns=\"http://java.sun.com/xml/ns/javaee\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_6.xsd\" version=\"6\">"
+ "<display-name>org.acme.project</display-name></application>";
@Deployment
public static Archive<?> createDeployment() {
EnterpriseArchive ear = ShrinkWrap.create(EnterpriseArchive.class);
ear.setApplicationXML(new StringAsset(APPLICATION_XML));
ear.addAsModules(Testable.archiveToTest(ShrinkWrap.create(WebArchive.class)));
return ear;
}
@Test
@Transactional
public void test() throws Exception {
System.out.println("SomeTest.test()");
}
}
这个类就是以下异常所需要的:
java.lang.IllegalArgumentException: ArquillianServletRunner not found. Could not determine ContextRoot from ProtocolMetadata, please contact DeployableContainer developer.
at org.jboss.arquillian.protocol.servlet.ServletUtil.determineBaseURI(ServletUtil.java:64)
at org.jboss.arquillian.protocol.servlet.ServletURIHandler.locateTestServlet(ServletURIHandler.java:60)
at org.jboss.arquillian.protocol.servlet.ServletMethodExecutor.invoke(ServletMethodExecutor.java:84)
at org.jboss.arquillian.container.test.impl.execution.RemoteTestExecuter.execute(RemoteTestExecuter.java:109)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
....
我已经看到其他问题(如 this one ),但他们似乎都在使用 Glassfish,而我使用的是托管的 Wildfly 8.1。
尽管如此,由于 slf4j 已经进入我的依赖列表,我尝试了它的不同版本(1.5.10、1.6.6、1.7.13)。
与往常一样,在服务器日志(或任何地方)中没有出现问题的迹象,只有(Eclipse 和 Maven 的)JUnit 运行器提示。其他部署的测试运行良好。
怎么了?
最佳答案
对于所有有同样问题的人。这就是它的工作原理(请参阅有关更改的评论):
private static final String APPLICATION_XML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
+ "<application xmlns=\"http://java.sun.com/xml/ns/javaee\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_6.xsd\" version=\"6\">" + "<display-name>org.acme.project</display-name>"
// the WAR must be added to the application.xml !
+ "<module><web><web-uri>test.war</web-uri><context-root>/test</context-root></web></module>"
+ "</application>";
@Deployment
public static Archive<?> createDeployment() {
EnterpriseArchive ear = ShrinkWrap.create(EnterpriseArchive.class);
ear.setApplicationXML(new StringAsset(APPLICATION_XML));
// to add the WAR to the application.xml, it must have a name
WebArchive webArchive = ShrinkWrap.create(WebArchive.class, "test.war");
// the test class must be added manually for whatever reason
webArchive.addClass(SomeTest.class);
ear.addAsModules(Testable.archiveToTest(webArchive));
return ear;
}
关于java - 找不到 ArquillianServletRunner,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34606253/
我还有另一个不工作的 Arquillian 测试: @RunWith(Arquillian.class) public class SomeTest { private static final St
我正在使用 Arquillian[1] 在 Eclipse[2]-IDE 内的嵌入式 glassfish 环境中测试我的 J2EE-App。 package test.java; import org
我正在尝试创建一个嵌入了 Arquillian 和 Tomcat 7 的测试套件,但是当我使用 web.xml 文件部署我的 WAR 文件时,出现以下错误。 ArquillianServletRunn
当我尝试在远程 Wildfly 8.1.0 上运行 Arquillian 测试时,我在测试结果文件中得到以下堆栈跟踪: ----------------------------------------
我是一名优秀的程序员,十分优秀!