首页 > web前端 > js教程 > 正文

想要从 REST Assured 迁移到 Keploy?

DDD
发布: 2024-10-21 17:09:02
原创
449 人浏览过

Looking to migrate from REST Assured to Keploy?

如果您厌倦了在 RestAssured 中编写无数行重复代码只是为了测试您的 API,那么您并不孤单。 API 测试不应该像拔牙一样困难,但让我们面对现实吧——REST Assured 会让这个过程变得无聊并且不必要地耗时。但如果你能把那些磨难抛在脑后呢?

在本指南中,我们将向您展示如何切换到 Keploy,这是一种更智能的零代码测试 API 的方法。让我们让您的 API 测试更快、更轻松,而且,我们敢说,还很有趣!准备好升级了吗?

放心休息概述

REST Assured 是一个流行的 Java 库,用于测试 RESTful Web 服务。它提供了用于编写测试的领域特定语言 (DSL),使开发人员能够有效验证 API 的响应。具有以下功能:

  • 与 JUnit 和 TestNG 等测试框架轻松集成。

  • 支持各种 HTTP 方法(GET、POST、PUT、DELETE)。

然而,随着 API 变得越来越复杂并且测试需求不断增加,依赖 REST Assured 可能会变得非常痛苦。让我们面对现实:

  • 手动测试编写变得重复且耗时。

  • 测试维护是一场噩梦,尤其是当 API 不断发展时。

  • 覆盖率报告 不是内置的,需要使用 Jacoco 等库进行设置。

  • 复杂的设置会占用开发时间,分散工程师对核心任务的注意力。

这就是 Keploy 发挥作用的地方。Keploy 可以自动化测试过程,减少至少 20% 的工程工作量,让您的团队专注于重要的事情——交付高质量的软件。

为什么迁移到凯普洛伊?

Keploy 是一个开源工具,旨在通过捕获 API 交互并稍后重播来自动化 API 测试。它的一些主要功能包括:

  • 自动生成数据模拟:Keploy 可以根据与微服务、数据库等各种依赖项的交互自动生成模拟,减少手动创建模拟的需要。

  • 低成本执行:Keploy 不需要专门的、复杂的测试环境设置。这可以减少管理并行环境的开销,并降低与基础设施相关的成本。

  • 零代码测试:与开发人员需要手动编写每个测试的 RestAssured 不同,Keploy 通过捕获 API 交互并自动生成测试来提供零代码方法。

  • 轻松集成:与 CI/CD 管道和其他测试工具(如 JUnit、TestNG、GitHub Action 等)集成良好。

  • 全面的测试覆盖率:由于 Keploy 捕获真实世界的 API 交互(包括边缘情况),因此与 RestAssured 中手动编写的测试相比,它有助于确保更广泛、更现实的测试覆盖率。

从 REST Assured 迁移到 Keploy 的步骤

我们将使用 Java 运行一个简单的员工经理应用程序,并使用 Postgres 作为本指南的数据库。

第 1 步:评估您当前的测试套件

迁移之前,对您现有的 RestAssured 测试套件进行全面评估:

  • 识别现有测试用例:记录所有现有测试用例及其功能。

  • 注意依赖关系:识别可能影响迁移过程的任何依赖关系。

让我们运行测试用例并检查一切是否正常

mvn test
登录后复制
登录后复制

我们将观察到我们所有的测试用例都已通过,并且由于我们安装了 jacoco,我们还可以找出覆盖率。

Looking to migrate from REST Assured to Keploy?

我们的测试套件覆盖率约为 68%。

Looking to migrate from REST Assured to Keploy?

让我们继续设置 keploy 和我们的迁移流程。

第 2 步:在您的环境中设置 Keploy

  1. 安装 Keploy:您可以按照 Keploy GitHub 存储库上的安装说明来设置 Keploy。

  2. 您可以通过在终端上运行命令 Keploy 来验证安装,我们应该能够看到以下输出:

    Looking to migrate from REST Assured to Keploy?

步骤 3:迁移测试用例

让我们开始迁移现有的 REST Assured 测试用例。

    @BeforeEach
    public void setUp() {
        RestAssured.baseURI = "http://localhost";
        RestAssured.port = 8080;

        // Clean up repository to ensure fresh data for each test
        employeeRepository.deleteAll();

        // Create and save test employee
        testEmployee = new Employee();
        testEmployee.setFirstName("John");
        testEmployee.setLastName("Doe");
        testEmployee.setEmail("john.doe@example.com");
        employeeRepository.save(testEmployee);  // save to generate ID
    }
登录后复制

由于我们的应用程序在端口 8080 上本地运行,因此我们将 RestAssured.port 配置为也在 8080 上运行,从而允许 Keploy 捕获 API 交互并在执行 REST Assured TestSuite 时创建新的测试套件。

  1. 让我们通过运行 mvn clean install -Dmaven.test.skip=true 为我们的应用程序创建一个 jar 文件。

    Looking to migrate from REST Assured to Keploy?

  2. Jar 文件准备好后,让我们以记录模式启动 keploy 来捕获测试用例。现在是时候使用 docker-compose up postgres 启动并运行我们的数据库了:-

    Looking to migrate from REST Assured to Keploy?

  3. 在新终端上,运行 keploy record -c "java -jar target/springbootapp-0.0.1-SNAPSHOT.jar": -

    Looking to migrate from REST Assured to Keploy?

  4. 现在,我们已准备好一切并准备好迁移我们的测试套件。是时候运行我们现有的 REST Assured 测试套件了。此执行将允许 Keploy 捕获 API 请求和响应。

    Looking to migrate from REST Assured to Keploy?

    keploy 生成的每个测试用例都是 REST Assured 测试用例:-

mvn test
登录后复制
登录后复制

第 4 步:后续步骤

我们已成功将 REST Assured 测试用例迁移到 keploy 测试套件。以下是此类 keploy 测试用例之一:-

Looking to migrate from REST Assured to Keploy?

因此,让我们通过运行 - keploy test -c "java -jar target/springbootapp-0.0.1-SNAPSHOT.jar" --delay 10: -

来运行我们的 keploy 测试套件

Looking to migrate from REST Assured to Keploy?

由于我们有噪音,这就是一次测试失败的原因,而我们使用 keploy 获得了约 70.5% 的覆盖率。

结论

从 REST Assured 迁移到 Keploy 具有多种优势,例如零代码测试、实时反馈和简化的 CI/CD 集成。通过遵循本指南中概述的步骤,您可以确保平稳过渡,同时最大限度地发挥 Keploy 的优势来满足您的 API 测试需求。

通过采用 Keploy,您的开发团队可以更加专注于交付高质量的软件,同时减少工程工作量,最终提高生产力和软件质量。

参考:

  1. CI/CD - https://keploy.io/docs/ci-cd/jenkins/

  2. 获取云试用版 - https://keploy.io/docs/keploy-cloud/cloud-installation/

以上是想要从 REST Assured 迁移到 Keploy?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!