首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏云云众生s

    Testcontainers助您轻松测试

    AtomicJar公司代表了测试新潮流,该公司为开源库Testcontainers及其创始人兼首席执行官Sergei Egorov开发的开源测试工具提供支持。 "当我把这些联系起来时,我想 ‘为什么 Testcontainers 获得了如此多的采用?’ Testcontainers 模块预配置了,允许开发者在代码中而不是 YAML 中进行配置。 尽管最初用于测试 Java,但现在开发者使用 Testcontainers 用于 C++、Go、Python、Rust 和多种其他编程语言。 代码高于 YAML Testcontainers 库针对的是 Docker API。Testcontainers 使用域特定语言(DSL),而不是 YAML。

    30210编辑于 2024-03-27
  • 来自专栏golang算法架构leetcode技术php

    golang集成测试:dockertest testcontainers-go

    https://github.com/testcontainers/testcontainers-go和https://github.com/ory/dockertest可以解决我们的苦恼,它们很相似都是调用 整体来说dockertest testcontainers-go 原理和使用方法比较类似。 = nil { fmt.Println(err) } fmt.Printf("%s is %d\n", name, age) } } testcontainers-go /testcontainers-go" "github.com/testcontainers/testcontainers-go/wait" ) type redisContainer struct { testcontainers.Container URI string } func setupRedis(ctx context.Context) (*redisContainer,

    1K30编辑于 2023-03-01
  • 来自专栏Linyb极客之路

    聊聊如何利用Testcontainers进行集成测试

    前言1、何为TestcontainersTestcontainers是一个库,它为引导本地开发和测试依赖关系提供了简单而轻量级的API,并将真实的服务封装在Docker容器中。 用比较直白的话就是testcontainers 能够让你实现通过编程语言去启动Docker容器,并在程序测试结束后,自动关闭容器2、Testcontainers有哪些优势? 支持市面上主流的语言以及平台,比如java、go、python等3、使用Testcontainers有哪些注意点Testcontainers基于Docker,所以使用Testcontainers前需要依赖 Testcontainers 提供的环境不能应用于生产环境、只能用于测试环境等场景4、Testcontainers连接docker的策略Testcontainers在运行时将会尝试按如下顺序使用以下策略连接到 > <groupId>org.testcontainers</groupId> <artifactId>testcontainers</artifactId>

    90720编辑于 2024-06-11
  • 来自专栏TECH flower

    java单元集成测试中使用Testcontainers

    1.Testcontainers介绍: Testcontainers是一个Java库,它支持JUnit测试,提供公共数据库、SeleniumWeb浏览器或任何可以在Docker容器中运行的轻量级、一次性实例 ---- 2.Testcontainers实践示例: Testcontainers提供了多种现成的与测试关联的应用程序容器,如下图: ? <groupId>org.testcontainers</groupId> <artifactId>testcontainers</artifactId> <version>1.12.5 ,它是一个Testcontainers JDBC代理驱动程序。 :tc:<database image>:<version>:///以便Testcontainers知道要使用哪个数据库。

    3.3K20发布于 2020-08-06
  • 来自专栏云云众生s

    什么是Testcontainers,为什么你应该关心?

    这就是 Testcontainers 的用武之地。 了解 Testcontainers Testcontainers 是一个开源库,用于提供一次性、轻量级的数据库、消息代理、Web 浏览器或几乎可以在 Docker 容器中运行的任何东西的实例。 Cloud 除了这些广泛建立的开源库之外,Testcontainers 还提供了一个产品,可以将这些容器无缝地卸载到云中,而无需对 Testcontainers 代码进行任何更改:Testcontainers 了解更多信息 有关最新 Testcontainers 新闻,请订阅 Docker 时事通讯。 通过 创建免费帐户 开始使用 Testcontainers Cloud。 有关 Testcontainers 的问题?在 Testcontainers Slack 上联系。 了解 Testcontainers 最佳实践。 开始使用 Testcontainers 指南。

    50210编辑于 2024-09-19
  • 来自专栏.NET开发那点事

    使用 TestContainers 进行数据库集成测试

    为了解决这个问题,我们可以使用 TestContainers 这个强大的开源工具。TestContainers 提供了一种简单而强大的方式来管理和运行容器化的测试环境。 什么是 TestContainersTestContainers 是一个用于集成测试的开源工具,它的目标是简化集成测试中的容器管理。它提供了一套简洁的 API,可以轻松地创建、启动和销毁容器。 TestContainers 的优势 使用 TestContainers 进行集成测试有以下几个优势: 简化环境搭建 TestContainers 可以自动下载和启动所需的容器镜像,无需手动安装和配置外部资源 使用 TestContainers 引入 TestContainers 依赖 首先,我们需要在项目中引入 TestContainers 的相关依赖。 如果你对 TestContainers 感兴趣,可以查阅官方文档以获取更多详细信息和示例代码。 Happy testing with TestContainers

    71810编辑于 2024-05-29
  • 来自专栏大数据成长之路

    万字长文带你快速了解并上手Testcontainers

    1.4 Testcontainers 为了解决这个问题,在社区成员的努力下,一个叫做 Testcontainers 的开源项目就诞生了。 ? 所提供的模块 Testcontainers 提供了多种现成的与测试关联的应用程序容器。 不同语言版本的Testcontainers Testcontainers 在GitHub上支持包含 java,go,python 等多种语言版本,基于我们项目的实际情况,下面的示例以testcontainers-scala Testcontainers连接策略和要求 因为 java 和 scala 运行都要基于 JVM,所以 testcontainers-scala 运行的环境首先需要满足: JDK >= 1.8 import com.dimafeng.testcontainers.

    9.2K34发布于 2021-01-27
  • 来自专栏MoeLove

    K8S 生态周报| Docker 收购了 Testcontainers 背后的公司

    这个公司其实也是去年为了商业化刚成立,它的主要项目叫做 Testcontainers。 HTTPBin represents a docker container running the `kong/httpbin`. type HTTPBin struct { container testcontainers.Container HTTPBin { port, err := nat.NewPort("", strconv.Itoa(test.HTTPBinPort)) require.NoError(t, err) req := testcontainers.ContainerRequest string{MappedLocalPort(t, port)}, WaitingFor: wait.ForListeningPort(port), } httpBinC, err := testcontainers.GenericContainer (ctx, testcontainers.GenericContainerRequest{ ContainerRequest: req, Started: true, })

    39010编辑于 2023-12-26
  • 来自专栏快乐阿超

    添加OceanBase-MybatisPlus案例

    快速开始 将 OceanBase 驱动、TestContainers OceanBase、MybatisPlusStarter、SpringBootStarter Test 模块添加到 POM。 oceanbase-client</artifactId> <version>2.4.9</version> </dependency> <dependency> <groupId>org.testcontainers </groupId> <artifactId>testcontainers</artifactId> <version>1.19.7</version> <scope>test< /scope> </dependency> <dependency> <groupId>org.testcontainers</groupId> <artifactId>junit-jupiter @SpringBootTest @Testcontainers class MybatisPlusJavaApplicationTests { @Container public static

    52310编辑于 2024-08-23
  • 来自专栏JavaGuide

    轻量!Google 开源了一个简易版 Spring !

    Testcontainers:测试工具库 Testcontainers 是一个支持 JUnit 的测试工具库,提供轻量级的且一次性的常见数据库测试支持、Selenium Web 浏览器或者其他任何可以在 Testcontainers 提供的一次性常见数据库测试支持有什么用呢?简单举个例子:假设我们有一个依赖 Redis 的程序,我们需要为其编写测试。 Thoughtworks 第 26 期技术雷达这样写到: 根据长期使用 Testcontainers 的经验,我们认为它是创建可靠的环境来运行自动化测试的默认选项。 Testcontainers 是一个拥有多种语言版本 的库,并且 docker 化了常见的测试依赖——包括了不同种类的数据库,队列技术,云服务和 UI 测试依赖(例如 web 浏览器),还具有按需运行自定义 它与类似 JUnit 的测试框架兼容,而且足够灵活,可以让用户管理容器的生命周期和高级网络,并迅速建立一个集成测试环境 项目地址:https://github.com/testcontainers/testcontainers-java

    1.1K20编辑于 2022-05-25
  • 来自专栏码匠的流水账

    聊聊Spring AI autoconfigure模块的拆分

    </artifactId><scope>test</scope></dependency><dependency><groupId>org.testcontainers</groupId><artifactId >testcontainers</artifactId><scope>test</scope></dependency><dependency><groupId>org.testcontainers</ groupId><artifactId>ollama</artifactId><scope>test</scope></dependency><dependency><groupId>org.testcontainers </groupId><artifactId>neo4j</artifactId><scope>test</scope></dependency><dependency><groupId>org.testcontainers </groupId><artifactId>milvus</artifactId><scope>test</scope></dependency><dependency><groupId>org.testcontainers

    26800编辑于 2025-05-09
  • 来自专栏码匠的流水账

    聊聊Spring AI autoconfigure模块的拆分

    </artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.testcontainers</ groupId> <artifactId>testcontainers</artifactId> <scope>test</scope> </dependency> <dependency > <groupId>org.testcontainers</groupId> <artifactId>ollama</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.testcontainers</groupId> <artifactId>postgresql</artifactId > <scope>test</scope> </dependency> <dependency> <groupId>org.testcontainers</groupId>

    18400编辑于 2025-05-10
  • 来自专栏COY

    优雅解决外部依赖的UT问题Testcontainer

    Testcontainers 库提供了几种开箱即用的等待策略实现,以确保容器(以及其中的应用程序)完全初始化。 Testcontainers 模块已经实现了给定技术的相关等待策略,并且您始终可以根据需要实现自己的策略或创建复合策略。 自动清理: 测试执行完成后,Testcontainers 库会使用 Ryuk sidecar 容器自动删除任何创建的资源(容器、卷、网络等)。 /testcontainers-go@v0.20.0 go get github.com/testcontainers/testcontainers-go/modules/mysql@v0.20.0 # #如果需要其他组件 go get github.com/testcontainers/testcontainers-go/modules/postgres@v0.20.0 创建用于UT的Container

    94320编辑于 2024-06-27
  • 来自专栏人工智能

    深度剖析:Spring AI项目架构与分层体系全解读

    ★★ spring-ai-spring-boot-testcontainers 集成testcontainers支持spring ai的功能测试。 3.4、工具与扩展 Spring AI提供了很多支持测试模块,如spring-ai-test,spring-ai-spring-boot-testcontainers,spring-ai-integration-tests spring-ai-spring-boot-testcontainers:容器化集成测试模块。通过 Testcontainers 实现 真实外部依赖的模拟,支持复杂集成测试。

    1K10编辑于 2025-03-28
  • 来自专栏nginx

    深入理解Java的@SpringBootTest注解

    classes = {MyApplication.class, TestConfig.class}) class CustomConfigTests { // 测试代码 } 使用测试容器 测试容器(TestContainers org.springframework.boot.test.context.SpringBootTest; import org.springframework.beans.factory.annotation.Autowired; import org.testcontainers.containers.PostgreSQLContainer ; import org.testcontainers.junit.jupiter.Container; import org.testcontainers.junit.jupiter.Testcontainers ; @Testcontainers @SpringBootTest class TestContainersTests { @Container private static PostgreSQLContainer

    40810编辑于 2025-11-14
  • Spring中DynamicPropertySource使用指南-Java快速入门教程

    此外,使用Docker和Testcontainers等技术,很容易实现第三种选择。 以下是我们使用 Testcontainers 等技术时我们的测试工作流程的样子: 在所有测试之前设置一个组件,如PostgreSQL。通常,这些组件侦听随机端口。 运行测试。 拆下组件。 基本上,我们首先设置我们的基础结构,然后使用第一步中的信息来自定义应用程序上下文: @SpringBootTest @Testcontainers @ContextConfiguration(initializers 我们所要做的就是创建一个静态方法,该方法带有注释@DynamicPropertySource并且只有一个DynamicPropertyRegistry实例作为输入: @SpringBootTest @Testcontainers 虽然它最初设计为与 Testcontainers 一起使用,但可以在我们需要处理动态配置的任何地方使用它。 5. 替代方案:测试工具 到目前为止,在这两种方法中,工具设置和测试代码都紧密交织在一起。

    34300编辑于 2025-04-05
  • 来自专栏JAVA葵花宝典

    Spring Boot整合Elasticsearch

    我们可以使用允许在JUnit测试期间自动启动数据库的Docker容器的库 - Testcontainers。 有关此库的更多信息,请参阅其站点https://www.testcontainers.org或我以前的一篇文章:使用Testcontainers Framework测试Spring与Vault和Postgres 幸运的是,Testcontainers支持Elasticsearch。 要在测试范围内启用它,首先需要在pom.xml中添加以下依赖项: <dependency> <groupId>org.testcontainers</groupId> <artifactId Spring Data Repositories来保存数据和执行简单查询 用户Spring Data ElasticsearchTemplate对索引执行批量操作 使用ElasticHQ监控集群 使用Testcontainers

    2.3K30发布于 2019-06-19
  • 来自专栏实战docker

    quarkus数据库篇之二:无需数据库也能运行增删改查(dev模式)

    com.github.dockerjava.api.exception.InternalServerErrorException: Status 500: {"message":"Head \"https://registry-1.docker.io/v2/testcontainers (DefaultInvocationBuilder.java:247) at org.testcontainers.shaded.com.github.dockerjava.core.DefaultInvocationBuilder.lambda (DefaultInvocationBuilder.java:247) at org.testcontainers.shaded.com.github.dockerjava.core.DefaultInvocationBuilder.lambda java.base/java.lang.Thread.run(Thread.java:829) 为了避免上述错误,以下两种方式都可以,请您二选一即可 提前下载docker镜像,命令是docker pull testcontainers 这里可以通过配置来指定MySQL配置信息(个人的感觉,就是为了解决一个问题而引入了新的问题) quarkus.datasource.devservices.container-properties.TC_MY_CNF=testcontainers

    1K50编辑于 2022-05-20
  • 从全栈开发到微服务架构:一场真实的Java面试实战

    对于集成测试,我们会用Testcontainers来启动真实的数据库容器,确保测试环境和生产环境一致。 面试官:非常专业。最后一个问题,你有没有参与过前端开发? Boot、Spring WebFlux、JPA、JWT)、前端开发(Vue3、Element Plus)、微服务架构(Spring Cloud、Kafka、Redis)以及测试和部署工具(JUnit 5、Testcontainers ### 测试与部署:JUnit 5 + Testcontainers JUnit 5提供了强大的单元测试能力,而Testcontainers可以帮助我们快速搭建测试环境,确保测试结果的准确性。

    26810编辑于 2025-09-03
  • 来自专栏白码晚股

    翻译:SpringBoot下Elasticsearch响应式编程

    我们还将使用 Actuator 来公开健康检查,以及一些用于自动化测试的库,如 Spring Test 和 Testcontainers<dependencies> <dependency> spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.testcontainers elasticsearch: rest: uris: http://192.168.99.100:9200测试 Spring Boot 反应式 Elasticserach 支持与同步存储库一样,我们使用 Testcontainers

    1.1K10编辑于 2022-08-01
领券