我尝试通过遵循正式文档来学习 JBoss Arquillian,但对配置 arquillian.xml 感到困惑。因为这里提到过一次。
甚至我还发现容器适配器部分有一个特定的配置描述。它不涵盖所有元素/属性,例如引擎及其属性列表、defaultProtocol、extension和group。
我很担心,想知道这个配置文件是否有任何进一步或完整的解释。你能帮忙解释一下这个配置吗?
Arquillian 参考指南中没有一页包含您的答案。这部分是因为 Arquillian 的模块化和可扩展性 - 扩展可以有自己的配置元素和属性。
首先,容器的属性位于Container Adapters Section中。每个适配器都有自己的页面,其中详细说明了容器配置。例如,JBoss AS 7 有它自己的容器配置页面(参见页面上的配置部分),其他容器也是如此。
通常,您不需要自己配置协议,因为这些值通常由 Arquillian 管理,并且通常不需要通过 arquillian.xml 提供任何覆盖。但是,如果您需要它们,它们位于协议部分和子页面中。
组只是容器的集合,用于容器默认不支持集群的情况。您只需要在一个组元素中列出多个容器配置,如下所示。
扩展配置通常在Extensions child-pages中找到。
defaultProtocol元素没有任何自己的页面。它用于覆盖容器适配器指定的协议,用于所有测试。只有少数情况下您需要使用此元素,尤其是当您需要使用 Servlet 协议而不是 JBoss AS 7 的 JMX 协议时(因为 Arquillian 的 Servlet 协议是比JMX 之一)。
defaultProtocol的典型用法如下所示:
<defaultProtocol type="Servlet 3.0" />
其中 type 是协议的名称 - “Servlet 2.5”和“Servlet 3.0”是有效值。当您更改容器的默认协议时,您可能还需要将协议依赖项添加到您的类路径中。