4

我正在使用 Embedded Glassfish 对 Arquillian 进行一些容器内测试。现在,当我的测试失败时,我总是从测试中获得堆栈跟踪,这些测试中充斥着 Arquillian 特定的东西。但是关于测试失败的真正原因是什么的信息很少。使用常规 Glassfish,我可以查看 server.log 以获取更多信息。不幸的是,嵌入式 Glassfish 似乎没有提供 Server.log。我还查看了由 Arquillian/Embedded Glassfish 创建的临时目录,但它不包含任何日志文件。

如何在 Embedded Glassfish 中激活日志记录?

顺便说一句,我的 pom 中有以下依赖项:

<dependencies>
    <dependency>
        <groupId>org.jboss.arquillian.container</groupId>
        <artifactId>arquillian-glassfish-embedded-3</artifactId>
        <version>1.0.0.Alpha4</version>
    </dependency>
    <dependency>
        <groupId>org.glassfish.extras</groupId>
        <artifactId>glassfish-embedded-all</artifactId>
        <version>3.1-b06</version>
    </dependency>

    <dependency>
        <groupId>org.jboss.arquillian</groupId>
        <artifactId>arquillian-testng</artifactId>
        <version>1.0.0.Alpha4</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>org.testng</groupId> 
        <artifactId>testng</artifactId> 
        <version>5.13.1</version> 
        <scope>test</scope> 
    </dependency> 
</dependencies>
4

1 回答 1

5

我在使用 arquillian 、 testng 和嵌入式 glassfish 时遇到了很多困难。几个小时后,我设法让它工作

我发现 arquillian 依赖于使用 slf4j-api 的 slf4j-simple 版本 1.5.9.RC1。

为了让它工作,我添加了属性

<properties>
   <version.slf4j>1.5.9.RC1</version.slf4j>
</properties>

和依赖项

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>${version.slf4j}</version>
</dependency> 

<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.16</version>
</dependency>

然后在依赖管理下

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-simple</artifactId>
            <version>${version.slf4j}</version>
        </dependency> 
    </dependencies>
</dependencyManagement>  

一旦我有了这个,我将我常用的 log4j.properties 文件添加到 src/test/resources 并且一切正常。

干杯

于 2010-12-10T16:04:05.863 回答