"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Quer migrar do REST Assured para o Keploy?

Quer migrar do REST Assured para o Keploy?

Publicado em 2024-11-03
Navegar:255

Looking to migrate from REST Assured to Keploy?

Se você está cansado de escrever infinitas linhas de código repetitivo no RestAssured apenas para testar suas APIs, você não está sozinho. O teste de API não deve ser como arrancar os dentes, mas vamos encarar os fatos: REST Assured pode tornar o processo enfadonho e desnecessariamente demorado. Mas e se você pudesse deixar essa rotina para trás?

Neste guia, mostraremos como fazer a mudança para o Keploy, uma maneira mais inteligente e sem código de testar suas APIs. Vamos tornar seus testes de API mais rápidos, fáceis e, ousamos dizer, divertidos! Pronto para a atualização?

Visão geral do REST garantido

REST Assured é uma biblioteca Java popular usada para testar serviços da web RESTful. Ele fornece uma linguagem específica de domínio (DSL) para escrever testes, permitindo que os desenvolvedores validem as respostas das APIs de maneira eficaz. Com recursos como:

  • Fácil integração com estruturas de teste como JUnit e TestNG.

  • Suporte para vários métodos HTTP (GET, POST, PUT, DELETE).

No entanto, à medida que as APIs se tornam mais complexas e as demandas de testes aumentam, confiar no REST Assured pode se tornar uma verdadeira dor. Vamos ser sinceros:

  • A redação manual de testes torna-se repetitiva e demorada.

  • Manutenção de testes é um pesadelo, especialmente quando as APIs evoluem.

  • Relatórios de cobertura não são integrados e requerem configuração com bibliotecas como Jacoco.

  • Configuração complexa consome tempo de desenvolvimento, distraindo os engenheiros das tarefas principais.

É aqui que entra o Keploy. O Keploy automatiza o processo de testes, reduzindo o esforço de engenharia em pelo menos 20% e permitindo que sua equipe se concentre no que importa: entregar software de alta qualidade.

Por que migrar para o Keploy?

Keploy é uma ferramenta de código aberto projetada para automatizar testes de API, capturando interações de API e reproduzindo-as posteriormente. Alguns de seus principais recursos incluem:

  • Autogenerate Data Mocking: Keploy pode gerar simulações automaticamente com base em interações com várias dependências, como microsserviços e bancos de dados, reduzindo a necessidade de criação manual de simulações.

  • Execução de baixo custo: Keploy não requer uma configuração de ambiente de teste complexo e dedicado. Isso leva a menos despesas gerais no gerenciamento de ambientes paralelos e reduz os custos associados à infraestrutura.

  • Teste de código zero: Ao contrário do RestAssured, onde os desenvolvedores precisam escrever cada teste manualmente, o Keploy oferece uma abordagem de código zero, capturando interações de API e gerando testes automaticamente.

  • Fácil integração: integra-se bem com pipelines de CI/CD e outras ferramentas de teste, como JUnit, TestNG, GitHub Action, etc.

  • Cobertura de teste abrangente: Como o Keploy captura interações de API do mundo real, incluindo casos extremos, ele ajuda a garantir uma cobertura de teste mais ampla e realista em comparação com os testes escritos manualmente no RestAssured.

Etapas para migrar do REST Assured para o Keploy

Executaremos um aplicativo simples de gerenciamento de funcionários em Java com Postgres como banco de dados para este guia.

Etapa 1: avalie seu conjunto de testes atual

Antes de migrar, realize uma avaliação abrangente do seu conjunto de testes RestAssured existente:

  • Identificar casos de teste existentes: documente todos os casos de teste existentes e suas funcionalidades.

  • Dependências de notas: identifique quaisquer dependências que possam afetar o processo de migração.

Vamos executar nossos casos de teste e verificar se tudo está funcionando bem ou não

mvn test

Observaremos se todos os nossos casos de teste foram aprovados e, como instalamos o jacoco, também poderemos descobrir a cobertura.

Looking to migrate from REST Assured to Keploy?

Obtivemos cerca de 68% de cobertura para nosso conjunto de testes.

Looking to migrate from REST Assured to Keploy?

Vamos prosseguir com a configuração do Keploy e nosso processo de migração.

Etapa 2: configure o Keploy em seu ambiente

  1. Instalar o Keploy: Você pode configurar o Keploy seguindo as instruções de instalação no repositório Keploy GitHub.

  2. Você pode verificar a instalação executando o comando Keploy no terminal, devemos poder ver a saída abaixo:

    Looking to migrate from REST Assured to Keploy?

Etapa 3: Migrar casos de teste

Vamos iniciar o processo de migração de nossos casos de teste REST Assured existentes.

    @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("[email protected]");
        employeeRepository.save(testEmployee);  // save to generate ID
    }

Como nosso aplicativo é executado localmente na porta 8080, configuramos RestAssured.port para também ser executado em 8080, permitindo que Keploy capture a interação da API e crie um novo conjunto de testes quando o REST Assured TestSuite for executado.

  1. Vamos criar um arquivo jar para nosso aplicativo executando mvn clean install -Dmaven.test.skip=true.

    Looking to migrate from REST Assured to Keploy?

  2. Com o arquivo Jar pronto, vamos iniciar o keploy em modo de gravação para capturar os casos de teste. Agora é hora de colocar nosso banco de dados em funcionamento usando docker-compose up postgres: -

    Looking to migrate from REST Assured to Keploy?

  3. No novo terminal, vamos executar keploy record -c "java -jar target/springbootapp-0.0.1-SNAPSHOT.jar": -

    Looking to migrate from REST Assured to Keploy?

  4. Agora temos tudo pronto e configurado para migrar nossos conjuntos de testes. É hora de executar nosso conjunto de testes REST Assured existente. Esta execução permitirá que o Keploy capture as solicitações e respostas da API.

    Looking to migrate from REST Assured to Keploy?

    Cada um dos casos de teste gerados pelo keploy é um caso de teste REST Assured: -

    @Test
    public void testGetEmployeeById() {
        get("/api/employees/"   testEmployee.getId())
            .then()
            .statusCode(200)
            .body("id", equalTo((int) testEmployee.getId()))  // Ensure correct ID
            .body("firstName", equalTo("John"))
            .body("lastName", equalTo("Doe"))
            .body("email", equalTo("[email protected]"));
    }

    @Test
    public void testUpdateEmployee() {
        String updatedEmployeeJson = "{\"firstName\":\"Jane\",\"lastName\":\"Doe\",\"email\":\"[email protected]\"}";

        given()
            .contentType(ContentType.JSON)
            .body(updatedEmployeeJson)
        .when()
            .put("/api/employees/"   testEmployee.getId())
        .then()
            .statusCode(200)
            .body("firstName", equalTo("Jane"))
            .body("lastName", equalTo("Doe"))
            .body("email", equalTo("[email protected]"));
    }

    @Test
    public void testDeleteEmployee() {
        delete("/api/employees/"   testEmployee.getId())
            .then()
            .statusCode(200);

        // Verify that employee no longer exists
        get("/api/employees/"   testEmployee.getId())
            .then()
            .statusCode(404);
    }

Etapa 4: próximas etapas

Migramos com sucesso os casos de teste REST Assured para o conjunto de testes keploy. Abaixo está um dos casos de teste do Keploy: -

Looking to migrate from REST Assured to Keploy?

Então, vamos executar nosso conjunto de testes keploy executando - keploy test -c "java -jar target/springbootapp-0.0.1-SNAPSHOT.jar" --delay 10: -

Looking to migrate from REST Assured to Keploy?

Como temos ruído, é por isso que um teste falhou e obtivemos cerca de 70,5% de cobertura com keploy.

Conclusão

A migração do REST Assured para o Keploy ofereceu várias vantagens, como teste de código zero, feedback em tempo real e integração simplificada de CI/CD. Seguindo as etapas descritas neste guia, você pode garantir uma transição tranquila e, ao mesmo tempo, maximizar os benefícios do Keploy para suas necessidades de teste de API.

Ao adotar o Keploy, sua equipe de desenvolvimento pode se concentrar mais no fornecimento de software de alta qualidade com esforço de engenharia reduzido, resultando em maior produtividade e qualidade de software.

Referências:

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

  2. Faça o teste do Cloud - https://keploy.io/docs/keploy-cloud/cloud-installation/

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/keploy/looking-to-migrate-from-rest-assured-to-keploy-l31?1 Se houver alguma violação, entre em contato com [email protected] para excluir isto
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3