>백엔드 개발 >PHP 튜토리얼 >PHP 개발에서 자동화된 테스트를 위해 Jenkins를 사용하는 방법

PHP 개발에서 자동화된 테스트를 위해 Jenkins를 사용하는 방법

WBOY
WBOY원래의
2023-06-27 14:29:501134검색

웹 애플리케이션의 규모가 계속 확장됨에 따라 PHP 언어의 애플리케이션도 점점 더 널리 보급되고 있습니다. 소프트웨어 개발 프로세스에서 자동화된 테스트는 개발 효율성과 소프트웨어 품질을 크게 향상시킬 수 있습니다. Jenkins는 소프트웨어 구축, 테스트, 배포 및 기타 작업을 자동으로 수행할 수 있는 확장 가능한 오픈 소스 자동화 서버입니다. 오늘은 PHP 개발에서 자동화된 테스트에 Jenkins를 사용하는 방법을 살펴보겠습니다.

1. Jenkins 설치 및 구성
먼저 서버에 Jenkins를 설치해야 합니다. Jenkins는 Windows, Linux, Mac 등을 포함한 다양한 운영 체제를 지원합니다. 설치가 완료되면 브라우저에 Jenkins의 URL 주소를 입력하고, 관리자 계정의 사용자 이름과 비밀번호를 입력하여 Jenkins에 로그인합니다.

설치가 완료된 후 Jenkins의 기본 인터페이스에서 PHP 개발에 사용할 일부 플러그인과 도구를 구성해야 합니다.

  1. PHP 플러그인 설치
    Jenkins 메인 인터페이스에서 "시스템 관리-플러그인 관리"를 클릭한 후 검색창에 "php"를 입력하고 PHP 플러그인을 확인하고 설치하세요.
  2. Selenium 플러그인 설치
    Selenium은 웹 애플리케이션 테스트를 자동화하는 데 도움이 되는 자동화된 브라우저 테스트용 도구입니다. 마찬가지로 Jenkins에서 Selenium 플러그인을 검색하여 설치하세요.
  3. Install Composer
    Composer는 PHP 개발 시 종속 라이브러리와 구성 요소를 자동으로 관리하는 데 도움이 되는 PHP 패키지 관리자입니다. Jenkins에서 Composer 플러그인을 검색하고 설치합니다.
  4. PHPUnit 설치
    PHPUnit은 PHP용 단위 테스트 프레임워크입니다. PHP용 단위 테스트를 작성하고 실행하는 데 사용할 수 있는 오픈 소스 테스트 프레임워크입니다. Jenkins에서 PHPUnit 플러그인을 검색하고 설치합니다.

설치가 완료된 후 PHP 자동화 테스트를 수행할 때 사용할 Jenkins의 전역 구성에서 일부 설정을 지정할 수 있습니다. 예를 들어 PHP 및 Composer 경로는 물론 특정 브라우저 및 Selenium 포트 등을 설정합니다.

2. Jenkins 프로젝트 빌드
Jenkins의 프로젝트는 소프트웨어 빌드 프로세스입니다. PHP 개발에서는 각 프로젝트를 Jenkins 프로젝트로 처리하여 Jenkins에서 테스트 프로세스를 구축하고 관리할 수 있습니다.

Jenkins 기본 인터페이스에서 "새 프로젝트"를 클릭하고 프로젝트 이름을 입력한 후 "자유 스타일 소프트웨어 프로젝트 빌드"를 선택한 다음 "확인"을 클릭하세요.

다음으로, PHP 자동화 테스트에 사용할 프로젝트 구성에서 몇 가지 설정을 지정하세요. 예를 들어 소스 제어 설정, 빌드 트리거, 빌드 환경, 빌드 단계 등이 있습니다.

더 중요한 것은 "빌드 단계"입니다. 왜냐하면 이 단계에서 PHP 자동화 테스트를 사용하기 때문입니다. "빌드 단계"에서는 Composer를 사용하여 종속 라이브러리 설치, PHPUnit 테스트 스크립트 실행 등과 같은 여러 실행 명령을 추가할 수 있습니다. 다음으로 일반적으로 사용되는 두 가지 자동화 테스트 방법인 단위 테스트와 기능 테스트를 자세히 소개합니다.

3. 단위 테스트
단위 테스트는 각 구성 요소가 예상대로 작동하는지 하나씩 확인하기 위한 목적으로 소프트웨어 시스템의 단일 구성 요소를 테스트하는 프로세스를 말합니다. PHP 개발에서는 단위 테스트를 위해 PHPUnit을 사용할 수 있습니다.

다음은 PHP용 샘플 테스트 코드입니다.

<?php
use PHPUnitFrameworkTestCase;
 
class StringUtilTest extends TestCase
{
  
   public function testStringLength()
   {
       $stringUtil = new StringUtil();
       $string = 'PHPUnit test';
       $length = $stringUtil->getLength($string);
 
       $this->assertEquals(11, $length);
   }
}

Jenkins 프로젝트의 "빌드 단계"에서 PHPUnit 명령을 추가하고 테스트를 실행할 수 있습니다.

composer install
vendor/bin/phpunit tests/

4. 기능 테스트
기능 테스트는 테스트를 의미합니다. 소프트웨어 시스템의 성능 테스트 프로세스가 예상대로 작동합니까? PHP 개발에서는 기능 테스트를 위해 Selenium을 사용할 수 있습니다.

먼저 Jenkins 프로젝트의 "빌드 단계"에서 다음 명령을 추가해야 합니다.

composer install
vendor/bin/phpunit tests/
java -jar selenium-server-standalone.jar

그 중 selenium-server-standalone.jar은 명령줄에서 Selenium 서비스를 시작할 수 있는 Selenium 도구입니다. . Selenium 도구를 다운로드한 후 프로젝트 루트 디렉터리에 배치합니다.

다음으로 PHP에 샘플 코드를 추가하여 테스트합니다.

<?php
use FacebookWebDriverRemoteRemoteWebDriver;
use FacebookWebDriverRemoteDesiredCapabilities;
 
class ExampleFunctionalTest extends PHPUnitFrameworkTestCase
{
   public function testChrome()
   {
       $driver = RemoteWebDriver::create(
           'http://localhost:4444/wd/hub',
           DesiredCapabilities::chrome()
       );
 
       $driver->get('http://www.google.com');
       $this->assertEquals('Google', $driver->getTitle());
   }
}

Jenkins 프로젝트를 실행하면 Jenkins가 Selenium 서비스를 시작하고 자동으로 기능 테스트를 수행합니다. Jenkins에서 테스트 결과를 확인합니다. 테스트에 통과하면 테스트가 성공한 것입니다.

5. 요약
이번 글을 통해 우리는 PHP 개발에서 자동화된 테스트를 위해 Jenkins를 사용하는 방법을 배웠습니다. 먼저 Jenkins 플러그인, 도구 및 환경을 설치하고 구성합니다. 다음으로 Jenkins 프로젝트의 빌드 단계를 설정하여 단위 테스트와 기능 테스트 각각에 대한 자동화된 테스트 방법을 소개했습니다.

자동 테스트는 PHP 개발의 효율성과 소프트웨어 품질을 크게 향상시킬 수 있습니다. 이 기사가 PHP 개발자에게 도움이 되기를 바랍니다.

위 내용은 PHP 개발에서 자동화된 테스트를 위해 Jenkins를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.