REST Assured에서 Keploy로 마이그레이션하려고 하시나요?

DDD
풀어 주다: 2024-10-21 17:09:02
원래의
449명이 탐색했습니다.

Looking to migrate from REST Assured to Keploy?

단지 API를 테스트하기 위해 RestAssured에서 끝없는 반복 코드 라인을 작성하는 데 지치셨다면 여러분은 혼자가 아닙니다. API 테스트는 까다롭게 느껴져서는 안 되지만, 현실을 직시하면 REST Assured는 프로세스를 지루하고 불필요하게 시간 소모적으로 만들 수 있습니다. 하지만 그 힘든 일을 뒤로하고 떠날 수 있다면 어떨까요?

이 가이드에서는 API를 테스트하는 더 스마트한 제로 코드 방법인 Keploy로 전환하는 방법을 보여 드리겠습니다. API 테스트를 더 빠르고 쉽게, 감히 말하자면 재미있게 만들어 보겠습니다! 업그레이드할 준비가 되셨나요?

REST 보장 개요

REST Assured는 RESTful 웹 서비스 테스트에 사용되는 인기 있는 Java 라이브러리입니다. 테스트 작성을 위한 DSL(도메인별 언어)을 제공하므로 개발자는 API의 응답을 효과적으로 확인할 수 있습니다. 다음과 같은 기능을 제공합니다:

  • JUnit 및 TestNG와 같은 테스트 프레임워크와 쉽게 통합됩니다.

  • 다양한 HTTP 메소드(GET, POST, PUT, DELETE)를 지원합니다.

그러나 API가 더욱 복잡해지고 테스트 요구가 증가함에 따라 REST Assured에 의존하는 것은 큰 어려움이 될 수 있습니다. 현실을 직시합시다:

  • 수동 테스트 작성은 반복적이고 시간이 많이 걸립니다.

  • 테스트 유지 관리는 특히 API가 발전할 때 악몽입니다.

  • 커버리지 보고는 내장되어 있지 않으며 Jacoco와 같은 라이브러리를 사용하여 설정해야 합니다.

  • 복잡한 설정은 개발 시간을 잡아먹고 엔지니어의 핵심 작업을 방해합니다.

여기서 Keploy가 개입합니다. Keploy는 테스트 프로세스를 자동화하여 엔지니어링 노력을 20% 이상 줄이고 팀이 중요한 일, 즉 고품질 소프트웨어 제공에 집중할 수 있도록 해줍니다.

Keploy로 마이그레이션해야 하는 이유

Keploy는 API 상호 작용을 캡처하고 나중에 재생하여 API 테스트를 자동화하도록 설계된 오픈 소스 도구입니다. 주요 기능 중 일부는 다음과 같습니다.

  • 데이터 모킹 자동 생성: Keploy는 마이크로서비스, 데이터베이스 등 다양한 종속성과의 상호작용을 기반으로 모의를 자동으로 생성할 수 있으므로 수동 모의 생성 필요성이 줄어듭니다.

  • 저비용 실행: Keploy는 복잡한 전용 테스트 환경 설정이 필요하지 않습니다. 이를 통해 병렬 환경 관리에 따른 오버헤드가 줄어들고 인프라와 관련된 비용이 절감됩니다.

  • 제로 코드 테스트: 개발자가 모든 테스트를 수동으로 작성해야 하는 RestAssured와 달리 Keploy는 API 상호 작용을 캡처하고 테스트를 자동으로 생성하여 제로 코드 접근 방식을 제공합니다.

  • 쉬운 통합: CI/CD 파이프라인 및 JUnit, TestNG, GitHub Action 등과 같은 기타 테스트 도구와 잘 통합됩니다.

  • 포괄적인 테스트 적용 범위: Keploy는 엣지 케이스를 포함한 실제 API 상호 작용을 캡처하므로 RestAssured에서 수동으로 작성된 테스트에 비해 더 광범위하고 현실적인 테스트 적용 범위를 보장하는 데 도움이 됩니다.

REST Assured에서 Keploy로 마이그레이션하는 단계

이 가이드의 데이터베이스로 Postgres를 사용하여 Java로 간단한 직원-관리자 애플리케이션을 실행하겠습니다.

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 통합 등 다양한 이점이 제공되었습니다. 이 가이드에 설명된 단계를 따르면 API 테스트 요구 사항에 맞게 Keploy의 이점을 극대화하면서 원활한 전환을 보장할 수 있습니다.

Keploy를 채택하면 개발팀이 엔지니어링 노력을 줄이고 고품질 소프트웨어를 제공하는 데 더 집중할 수 있어 궁극적으로 생산성과 소프트웨어 품질이 향상됩니다.

참고자료:

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

  2. Cloud 평가판 다운로드 - https://keploy.io/docs/keploy-cloud/cloud-installation/

위 내용은 REST Assured에서 Keploy로 마이그레이션하려고 하시나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!