Running PHPUnit tests (First look at BitBucket Pipelines, part 2)

안녕하세요 여러분, 내 BitBucket Pipelines 시리즈의 일부인 비디오를보고 있습니다 에서 이 비디오에서는 BitBucket 파이프 라인을 사용하여 PHPUnit 테스트를 수행하는 방법을 설명합니다

그래서이 비디오의 목적을 위해 간단한 BitBucket 프로젝트를 만들었습니다 BitBucket이라고 부릅니다 파이프 라인 PHPUnit 테스트 및이 프로젝트는 동작을 모방 한 PHPUnit 클래스가 단 하나입니다 검 보 머신의 이 클래스에서 나는 하나의 속성을 가지고 있습니다 : 그것은 gumballs의 수입니다 그 기계에 있습니다

나는 기계에있는 엄청난 양을 얻기 위해 게터를 가지고있다 나는 기계에서 껌 볼의 양을 설정하는 세터를 가지고있다 그리고 나서 나는 기능을 가지고있다 기계가 gumball을 분배하는 것을 모의 실험하는 소위 회전 바퀴는 기계에있는 검볼의 양 이제이 프로젝트에서이 클래스를 위해 PHPUnit 테스트를 수행합니다

그래서 폴더 테스트에서 나는 GumballMachineTest를 가지고있다 만약 머신에 100 개의 검볼이 있다면 그리고 나는 바퀴를 돌린다 단지 99 명이 남아 있어야한다 그 말이 맞습니까? 이제는 같은 디렉토리에 phpunitxml 파일이 있습니다

이 파일을 통해 PHPUnit은 테스트가 실행되어야합니다 이제 우리가하고자하는 일 : BitBucket 파이프 라인을 활성화하여 모든 커밋 후에 이 프로젝트에서는 모든 PHPUnit 테스트를 실행합니다 그렇게하기 위해 왼쪽 열로 가자 아래로 스크롤하여 파이프 라인으로 이동하십시오 그래서 우리는 즉시 파이프 라인에 대해 우리에게 조금 더 알려주는 시작 화면으로 인사합니다

아르 그래서 설정 파이프 라인을 클릭하고 활성화 할 것입니다 그리고 바로 BitBucket은 특히 파이프 라인에 대한 템플릿을 보여줍니다 이 프로젝트가 PHP임을 알고 있습니다 그래서 그것은 나에게 PHP 파이프 라인을 제안한다

이제는 파이프 라인의 구성이 YAML 파일 그리고 BitBucket은 바로 그것을위한 템플릿을 제공합니다 템플릿은 실제로 매우 간단합니다 Docker 이미지를 정의하여 시작합니다 테스트 또는 배포가 실행되어야합니다

이 경우 BitBucket은 phpunit 사용을 제안합니다 Docker image, 나는 이것이 훌륭한 선택이라고 생각한다 당신이 정의 할 수있는 다른 것들은 이 스크립트가 실행되어야하는 분기와 스크립트가 통과해야하는 단계가 있습니다 에서 이 경우에는 작곡가 버전을 반향합니다 PHPUnit 버전을 반향시키고 설치합니다

작성자 종속성 BitBucket의 튜토리얼을 여기에 따라 복사 해 봅시다 클립 보드를 만들고 bitbucket-pipelinesyml 파일을 만듭니다 따라서이 파일에서 BItBucket이 제공 한 템플릿을 붙여 넣을 것입니다

하지만 이제 우리는 일부 단계가 변경됩니다 작곡가와 PHPUnit의 버전을 보여주는 대신 Composer 의존성을 설치하기 만하면 PHPUnit을 실행하게됩니다 그래서 나는 갈거야 이 모든 것을 대체하기 위해 phpunit (명령의 이름)을 입력 할 것입니다 그런 다음 구성 파일 (예 : -c)의 경로를 지정하고 구성 파일은 다음과 같습니다

tests / phpunitxml에 있습니다 이제 BitBucket Pipeline 구성 파일이 만들어졌습니다 그래서 이 파일을 커밋 할 예정이며 기본 커밋 메시지를 남겨두고 커밋을 치러 갈거야 그리고 이것은 이미 우리의 첫 번째 파이프 라인 빌드를 유발합니다

그래서 그냥 16 초 파이프 라인이 성공적으로 완료되었습니다 이제 파이프 라인을 열고 무엇을 볼 수 있습니까? 그것은 실제로 무대 뒤에서했다 그래서 여기 당신은 그것이 처음으로 내 이미지를 만들었고, 내 Docker 이미지를 가져 와서 PHPUnit을 실행했습니다 여기 나는 그것이 네, PHPUnit을 볼 수 있습니다 1 개의 테스트를했고 그것은 1 개의 주장을했다

좋아, 모든 것이 효과가있다 이제 오류가있을 때 작동하는지 확인해 보겠습니다 수업 그럼 소스로 돌아가서 우리의 검블 머신을 조작합시다 나는 편집 할거야

그것은 BitBucket 웹 사이트에서 조금 더 쉬워 졌기 때문입니다 그냥 분배하는 대신 바퀴벌레를 돌릴 때 한 움큼의 소리가 난다 나는 사용자가 돌았을 때 두 개의 소리 껌을 분배 할 것이다 바퀴 그래서 저는 커밋을 만들 것입니다

나는 그것을 "Bugges 버전이라고 부르겠다 gumball machine "과 새로운 커밋을 만들 것입니다 나는 파이프 라인으로 돌아갈 것입니다 즉시 새 빌드가 실행되어 동일한 빌드를 진행한다는 것을 알 수 있습니다 다시 한 번 단계

Docker 레지스트리로 갈 것이고, PHPUnit을 가져올 것입니다 이미지가 있고 거기에 당신이 있다면, 우리의 파이프 라인은 실패합니다 이제 클릭하여 왜 실패하는지 알 수 있습니다 여기 나는 네, GumballMachineTest, testIfWheelWorks는 "98이 예상 99와 일치한다고 주장하지 못했습니다"라고 말합니다

그래서 파이프 라인의 상태를 볼 수있는 곳이 두 곳 있습니다 너는 볼 수있어 그것은 꽤 명백한 파이프 라인에 있습니다 그러나 커밋 섹션에서도 볼 수 있습니다 커밋이 성공적으로 빌드 된 경우 실제로 커밋 사이에 볼 수 있습니다 실패한 경우

그것은이 비디오를위한 것입니다! 놀랍게도 실제로 PHPUnit을 얻는 것은 실제로 쉽습니다 BitBucket 파이프 라인에서 실행 및 실행 다음 비디오에서는 환경 변수를 사용하는 방법과 이유를 보여줄 것입니다 파이프 라인 이 비디오가 마음에 들었거나 BitBucket 파이프 라인에 대해 더 알고 싶다면 꼭 확인하십시오

내 채널을 구독하거나 Twitter에서 나를 팔로우하십시오!