웹 애플리케이션의 규모가 계속 확장됨에 따라 PHP 언어의 애플리케이션도 점점 더 널리 보급되고 있습니다. 소프트웨어 개발 프로세스에서 자동화된 테스트는 개발 효율성과 소프트웨어 품질을 크게 향상시킬 수 있습니다. Jenkins는 소프트웨어 구축, 테스트, 배포 및 기타 작업을 자동으로 수행할 수 있는 확장 가능한 오픈 소스 자동화 서버입니다. 오늘은 PHP 개발에서 자동화된 테스트에 Jenkins를 사용하는 방법을 살펴보겠습니다.
1. Jenkins 설치 및 구성
먼저 서버에 Jenkins를 설치해야 합니다. Jenkins는 Windows, Linux, Mac 등을 포함한 다양한 운영 체제를 지원합니다. 설치가 완료되면 브라우저에 Jenkins의 URL 주소를 입력하고, 관리자 계정의 사용자 이름과 비밀번호를 입력하여 Jenkins에 로그인합니다.
설치가 완료된 후 Jenkins의 기본 인터페이스에서 PHP 개발에 사용할 일부 플러그인과 도구를 구성해야 합니다.
설치가 완료된 후 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!