요약: PHPUnit 단위 테스트 프레임워크와 CI/CD 파이프라인을 통합하여 PHP 코드 품질을 개선하고 소프트웨어 제공을 가속화합니다. PHPUnit을 사용하면 구성 요소 기능을 확인하기 위한 테스트 사례를 생성할 수 있으며 GitLab CI 및 GitHub Actions와 같은 CI/CD 도구는 이러한 테스트를 자동으로 실행할 수 있습니다. 예: 테스트 케이스로 인증 컨트롤러의 유효성을 검사하여 로그인 기능이 예상대로 작동하는지 확인합니다.
오늘날 빠르게 발전하는 소프트웨어 개발 세계에서는 자동화된 테스트 및 지속적 전달(CI/CD)이 중요해졌습니다. 이 문서에서는 PHPUnit 단위 테스트 프레임워크를 PHP 프로젝트의 CI/CD 파이프라인과 통합하여 코드 품질을 개선하고 소프트웨어 제공을 가속화하는 방법을 설명합니다.
PHPUnit이란 무엇입니까?
PHPUnit은 PHP 애플리케이션을 위한 오픈 소스 단위 테스트 프레임워크입니다. 이를 통해 단위 테스트를 작성하여 애플리케이션의 개별 구성 요소가 예상대로 작동하는지 확인할 수 있습니다.
테스트 사례 만들기
PHPUnit 테스트 사례를 만들려면 Test
로 끝나는 PHP 파일을 만들고 그 안에 다음 코드를 작성하세요. Test
结尾,并在其中编写如下代码:
<?php namespace Tests; use PHPUnit\Framework\TestCase; class ExampleTest extends TestCase { public function testExample() { $this->assertTrue(true); } }
在这个示例中,ExampleTest
类继承了 TestCase
类,并且包含一个名为 testExample
的测试方法。
使用 GitLab CI
GitLab CI 是一个流行的 CI/CD 工具,它可以自动构建、测试和部署代码。要将 PHPUnit 测试集成到 GitLab CI,请在 .gitlab-ci.yml
文件中添加以下内容:
image: php:7.4 stages: - test test: stage: test script: vendor/bin/phpunit
此配置将使用 PHP 7.4 映像来构建和运行 PHPUnit 测试。
使用 GitHub Actions
GitHub Actions 是另一个 CI/CD 工具,它支持在不同的平台上运行工作。要将 PHPUnit 测试集成到 GitHub Actions,请在 .github/workflows/main.yml
name: CI on: push: branches: [ main ] jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: shivammathur/setup-php@v2 with: php-version: 7.4 - run: composer install - run: vendor/bin/phpunit
예제 테스트
클래스는 TestCase
클래스를 상속하고 testExample
라는 테스트 메서드를 포함합니다. CI/CD와 PHPUnit 통합GitLab CI 사용
GitLab CI는 코드 빌드, 테스트 및 배포를 자동화하는 인기 있는 CI/CD 도구입니다. PHPUnit 테스트를 GitLab CI에 통합하려면.gitlab-ci.yml
파일에 다음 콘텐츠를 추가하세요. <?php namespace Tests; use PHPUnit\Framework\TestCase; use App\Http\Controllers\Auth\LoginController; class AuthControllerTest extends TestCase { public function testLogin() { // Mock request and response $request = Request::create('/login', 'POST', ['email' => 'john@example.com', 'password' => 'secret']); $controller = new LoginController(); $response = $controller->login($request); // Assert that the response contains a success message $this->assertStringContainsString('Login successful', $response->getContent()); } }
.github/workflows/main.yml
파일에 다음 콘텐츠를 추가하세요. 🎜rrreee🎜이 구성은 PHP 7.4 이미지를 사용하여 Ubuntu 서버에서 PHPUnit 테스트를 실행합니다. . 🎜🎜실용 사례🎜🎜🎜시나리오: 인증 컨트롤러 유효성 검사🎜🎜🎜인증 컨트롤러를 테스트하려는 PHP 웹 애플리케이션을 고려해보세요. 다음 테스트 사례를 사용하여 로그인 방법을 확인할 수 있습니다. 🎜rrreee🎜 이 단위 테스트를 CI/CD 파이프라인에 통합하면 모든 코드 변경 시 인증 컨트롤러가 예상대로 작동하는지 확인할 수 있습니다. 🎜위 내용은 PHP 단위 테스트 및 지속적 전달 통합의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!