rabbitmq QuarkusTest启动testcontainers,尽管我没有要求它;怎么了?

knsnq2tg  于 2023-04-20  发布在  RabbitMQ
关注(0)|答案(1)|浏览(121)

非常简单的测试用例(没有其他代码):

@QuarkusTest
class EndpointTest {

    @Test
    void testPostMV() {
        fail("Not yet implemented"); // TODO
    }
}

POM.xml:

...
    <dependencies>
        <dependency>
            <groupId>io.quarkus</groupId>
            <artifactId>quarkus-smallrye-reactive-messaging-rabbitmq</artifactId>
        </dependency>
        <dependency>
            <groupId>io.quarkus</groupId>
            <artifactId>quarkus-smallrye-openapi</artifactId>
        </dependency>
        <dependency>
            <groupId>io.quarkus</groupId>
            <artifactId>quarkus-resteasy-reactive</artifactId>
        </dependency>
        <!-- TESTS -->
        <dependency>
            <groupId>io.quarkus</groupId>
            <artifactId>quarkus-junit5</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>io.rest-assured</groupId>
            <artifactId>rest-assured</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
...

当我在日志中看到mvn -Dtest=org.avm.rest.EndpointTest test时:

[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[INFO] Running org.avm.rest.EndpointTest
2023-04-12 13:23:54,426 WARN  [io.qua.arc.dep.SplitPackageProcessor] (build-26) Detected a split package usage which is considered a bad practice and should be avoided. Following packages were detected in multiple archives: 
- "io.smallrye.reactive.messaging.providers.connectors" found in [io.smallrye.reactive:smallrye-reactive-messaging-in-memory::jar, io.smallrye.reactive:smallrye-reactive-messaging-provider::jar]
2023-04-12 13:23:54,541 INFO  [org.tes.doc.DockerClientProviderStrategy] (build-26) Loaded org.testcontainers.dockerclient.UnixSocketClientProviderStrategy from ~/.testcontainers.properties, will try it first
2023-04-12 13:23:55,083 INFO  [org.tes.doc.DockerClientProviderStrategy] (build-26) Found Docker environment with local Unix socket (unix:///var/run/docker.sock)
2023-04-12 13:23:55,085 INFO  [org.tes.DockerClientFactory] (build-26) Docker host IP address is localhost
2023-04-12 13:23:55,102 INFO  [org.tes.DockerClientFactory] (build-26) Connected to docker: 
  Server Version: 23.0.3
  API Version: 1.42
  Operating System: Debian GNU/Linux 10 (buster)
  Total Memory: 31757 MB
2023-04-12 13:23:55,115 INFO  [org.tes.uti.ImageNameSubstitutor] (build-26) Image name substitution will be performed by: DefaultImageNameSubstitutor (composite of 'ConfigurationFileImageNameSubstitutor' and 'PrefixingImageNameSubstitutor')
2023-04-12 13:23:55,119 INFO  [org.tes.DockerClientFactory] (build-26) Checking the system...
2023-04-12 13:23:55,120 INFO  [org.tes.DockerClientFactory] (build-26) ✔︎ Docker server version should be at least 1.6.0
2023-04-12 13:23:55,188 INFO  [🐳 .9-management]] (build-26) Creating container for image: rabbitmq:3.9-management
2023-04-12 13:23:55,211 INFO  [🐳 .3.4]] (build-26) Creating container for image: testcontainers/ryuk:0.3.4
2023-04-12 13:23:55,346 INFO  [🐳 .3.4]] (build-26) Container testcontainers/ryuk:0.3.4 is starting: ec8edc09f60e0179e1c6a9269e542a52f53de468fec15c1042ea7dde29aac2be
2023-04-12 13:23:55,859 INFO  [🐳 .3.4]] (build-26) Container testcontainers/ryuk:0.3.4 started in PT0.648579S
2023-04-12 13:23:56,109 INFO  [🐳 .9-management]] (build-26) Container rabbitmq:3.9-management is starting: a29cd698eed414e0ffa0ee2225d230504e6a332a022aec31f545104aa5f6ec85
2023-04-12 13:24:01,766 INFO  [🐳 .9-management]] (build-26) Container rabbitmq:3.9-management started in PT6.63349S

如果我从POM文件中取消quarkus-smallrye-reactive-messaging-rabbitmq,那么简单测试将正常运行:

[INFO]  T E S T S
[INFO] -------------------------------------------------------
[INFO] Running org.avm.rest.EndpointTest
2023-04-12 13:34:28,106 INFO  [io.quarkus] (main) realtime_proxy_mt 2.16 on JVM (powered by Quarkus 2.16.1.Final) started in 1.880s. Listening on: http://localhost:8081
2023-04-12 13:34:28,111 INFO  [io.quarkus] (main) Profile test activated. 
2023-04-12 13:34:28,111 INFO  [io.quarkus] (main) Installed features: [cdi, rabbitmq-extension, resteasy-reactive, smallrye-context-propagation, smallrye-openapi, swagger-ui, vertx]
[ERROR] Tests run: 3, Failures: 3, Errors: 0, Skipped: 0, Time elapsed: 4.319 s <<< FAILURE! - in org.avm.rest.EndpointTest

我没有设置testContainer ;我不明白为什么它会被启动…我有另一个项目有相同的依赖项,它不启动测试容器进行测试;我看不出有什么不同……我被卡住了。还有其他人处于同样的情况吗?也许是一些提示?

s6fujrry

s6fujrry1#

对于那些看不到小线条的人(像我一样):Dev Services for RabbitMQ automatically starts a RabbitMQ broker in dev mode and when running tests. So, you don’t have to start a broker manually.,答案在这里:https://quarkus.io/guides/rabbitmq-dev-services..

相关问题