보도 자료: Josh Pollock과 함께하는 WordPress 개발에서 최신 도구 및 자동화된 테스트의 중요성
게시 됨: 2022-05-12WMR의 WordPress 커뮤니티 팟캐스트 Press This에 오신 것을 환영합니다. 여기 호스트 David Vogelpohl이 커뮤니티 주변의 게스트와 함께 WordPress 개발자가 직면한 가장 큰 문제에 대해 이야기합니다. 다음은 원본 녹음의 필사본입니다.
Powered by RedCircle
David Vogelpohl: 안녕하세요. WMR의 WordPress 커뮤니티 팟캐스트 Press This에 오신 것을 환영합니다. 저는 귀하의 호스트인 David Vogelpohl입니다. 저는 WP Engine에서 제 역할을 통해 WordPress 커뮤니티를 지원합니다. 매주 언론에서 들을 수 있는 최고의 커뮤니티를 여러분에게 전하는 것을 좋아합니다. , 또는 iTunes, iHeartRadio, Spotify에서 이를 누르거나 wmr.fm에서 최신 에피소드를 다운로드하도록 구독할 수 있습니다. 이 에피소드에서는 현대적인 도구와 자동화된 테스트, 특히 WordPress 개발의 중요성에 대해 이야기하고 그 대화에 동참할 것입니다. 이 Mr. Josh Pollock을 보도하게 된 것을 환영합니다. 조쉬, 환영합니다.
조시 폴록: 감사합니다. 나를 주셔서 감사합니다. 잘 지내고 있나요?
DV: 좋아, 좋아. 정말 흥분된다. 쇼에 당신을 데려가기 위해. 녹음하기 전에 우리는 당신이 가장 유명하다고 이야기했습니다. 나는 모든 Pollock 중에서 가장 유명한 WordPress Pollock을 믿습니다. 맞습니까?
JP: Jackson Pollock에 비해 덜 유명하지만 네, 그래서 그렇지 않았습니다.
DV: WordPress만큼 유명하지는 않습니다. 그래서 잭슨이 거기 있는 것 같아요.
JP: 그렇지? 응. 나는 그의 작품의 팬이다.
DV: 아, 배우니 좋네요. 듣는 사람들을 위해, 그리고 Josh가 오늘 이야기할 것입니다. Josh는 몇 가지 다른 영역에서 우리에게 왔지만 특히 플러그 인 머신에 중점을 둡니다. 우리는 그것에 대해 조금 이야기할 것이지만 현대 개발 도구와 자동화된 테스트가 WordPress 개발에 매우 중요한 이유에 대한 그의 생각에 대해서도 이야기할 것입니다. 따라서 당신이 카우보이 또는 카우걸 코더라면 Josh가 다른 경로가 더 나은 이유에 대해 조금 이야기할 것입니다. 이를 위해 그가 가장 좋아하는 도구와 자신의 WordPress 개발 프로젝트로 자동화된 테스트에 접근하는 방법. 그 이야기를 시작하기 전에, 이전 에피소드에서 이 말을 들은 적이 있을 것이라는 것을 사람들에게 상기시키고 싶습니다. 2022년 4월 25일. WP 엔진에서 가상 디코드 컨퍼런스를 개최합니다. 확인하는 것과 같습니다. 다양한 주제에 대한 WordPress 개발에 대해 자세히 알아보세요. WP engine.com의 슬래시 디코드 대시 2022에서 이벤트를 방문할 수 있습니다. 좋습니다. Josh, 모든 손님에게 했던 첫 번째 질문을 할게요. 워드프레스의 기원을 간단히 말씀해 주시겠습니까? 워드프레스를 처음 사용한 때는 언제였습니까?
JP: 예, WordPress를 처음 사용합니다. 2011 2012에서 wordpress.com과 같은 블로그를 작성한다고 가정해 보겠습니다. 그러면 Google에서 작업하는 방법이 마음에 들었고 기능에 무언가를 붙여넣는 것과 같았습니다. 그래서 자체 호스팅 WordPress로 이동하는 것을 좋아해야 했고 그 블로그에서 많은 작업을 해본 적이 없는 것 같습니다. 나는 코드 부분처럼 정말 산만 해졌습니다. 그리고 그것은 저를 WordPress 커뮤니티처럼 이끌고 테마 리뷰 팀과 같은 자원 봉사를 하게 되었고 커스텀 필드 및 커스텀 포스트 유형과 유사하고 UI가 있는 플러그인인 pods에서 일하게 되었습니다. 그곳에서 서포터로 일한다. 그곳의 수석 개발자인 Scott Kingsley 카드와 다른 모든 사람들은 제가 개발처럼 배울 수 있도록 정말 지원하고 도와주었고 거기서 플러그인 개발에 뛰어들었습니다. 멋지네요.
DV: 2011년 또는 12년이 블로그를 시작하려고 할 때라고 말한 코드에 처음 주의가 산만해진 것은 언제입니까? 얼마 지나지 않아 그랬을까?
JP: 예, 예, 그래서 저는 WordPress 2.7과 같았습니다. 제가 작업한 첫 번째 버전인 것 같습니다. 제 생각에 제가 사용했던 첫 번째 버전과 제가 기여한 첫 번째 버전은 점 세 개 정도였던 것 같아요.
DV: 예, 2011년에는 사용자 정의 포스트 유형 직후였을 것입니다. 그래서 WordPress에서 흥미진진한 시간을 보냈을 것입니다. 237개의 에피소드 중 내가 했던 몇 가지 이상한 에피소드가 생각납니다. 당신은 최초의 wordpress.com 기원 이야기입니다. 그래서 나는 당신이 그것과 내가 몇 년 동안 인터뷰한 모든 사람들의 구별을 가질 수 있다고 생각합니다. 그러나 당신이 거기에서 시작했다는 것은 꽤 멋진 일입니다. 블로고스피어에서. 그런 다음 정말 흥미로운 개발 측면으로 빠르게 이동했습니다. 나는 그 해 초에 플러그인 머신에 대해 언급했습니다. 플러그인 머신이 무엇을 하고 거기서 무엇을 하는지 알려주실 수 있나요?
JP: 네, 그래서 이것은 제가 개발 중인 새 제품입니다. 아시다시피, 제 말은, 제 솔로입니다. 제가 지금 프리랜스 개발자인 것처럼 만들고 있는 것은 이야기의 중간에 잠시 동안 주변 회사에서 포드를 통해 커터 형태라는 플러그인 작업을 하고 있던 사람들을 만났습니다. 그리고 나서 WordPress 공간에서 몇 가지 일을 했고 지금은 프리랜서 개발자입니다. 그리고 워드프레스 사이트용 워드프레스 플러그인을 구축하는 경우가 많습니다. 나는 당신이 가서 좋아할 사람이 아닌 것처럼 내 비즈니스를 위한 사이트를 구축해야 합니다. 멋진 기능을 만들 것입니다. 다른 사람이 우리에게 테마나 무엇이든 만들 것이고 내 자신의 프로젝트를 위해 이 플러그인을 시작하는 방법에 대해 계속 매달렸습니다. 블록을 갖고 싶고 React 코드를 포함하여 JavaScript 코드를 컴파일하기 위한 새로운 도구와 작동 방식이 WordPress와 호환되는 것처럼 WordPress 스크립트를 사용하고 있는지 확인하고 싶습니다. 곧. 워드프레스 표준입니다. 그것은 그가 내가 계속해서 작업했던 마지막 프로젝트를 분기하는 것과 같은 곳이었습니다.
DV: 그것이 모든 훌륭한 소프트웨어의 시작입니다. 그렇지 않습니까?
JP: 네. 그래서 제가 지금 플러깅 머신(plugging machine)이라고 부르는 것이 생겨났습니다. 이것은 몇 가지 일을 하는 도구입니다. 첫 번째는 종속성에서 PHP 자동 로더용 작곡가를 사용하거나 블록에 WordPress 스크립트를 사용하는 것과 같은 작업을 수행하기 위해 종속성에서 모든 올바른 명명 규칙으로 필요한 모든 코드를 생성하는 것처럼 플러그인을 시작하는 데 도움이 됩니다. 이 모든 다른 유형의 것들. 그리고 이로 인해 저는 항상 개발 중인 버그의 움직이는 부분, 자동화된 테스트, 원하는 올바른 파일이 모두 포함된 올바른 zip 파일을 만드는 데 집착했습니다. 원하지 않는다. 설치하려는 테스트처럼. 그래서 저는 플러그인을 시작하고 플러그인에 기능을 추가하는 완벽한 도구인 로깅 머신을 사용하고 있습니다. 블록과 데이터 메뉴 페이지를 추가한 다음 WordPress 사이트에 들어갈 수 있는 최종 패키지 버전처럼 생성해야 합니다.
DV: 플러그인용 개발 프레임워크를 커밋합니다. 필요한 경우 몇 단어만 사용하여 설명할 수 있습니다. 공정한가요?
JP: 훌륭합니다. 나는 그것을 기록할거야. 아니요, 아니요. 호스팅 서비스 및 CLI처럼 WordPress 플러그인을 위한 개발 프레임워크인 것처럼 단순화할 수 있는 좋은 방법이 있습니다. 사용자 정의 게시물 유형을 사용하고 블록을 사용하고 싶습니다. 그런 다음 플러그인에 있을 때 플러그인 머신, 플러그인, zip 그랜트, 주머니의 zip 파일.
DV: 그런 종류의 것들. 그래서 저는 소프트웨어가 필요에 따라 그리고 일종의 익숙한 방식으로 시작되는 것을 좋아하고 플러그인 머신의 기원 이야기를 듣는 것이 재미있습니다. 당신이 여전히 그것을 유지하고 있지만 일종의 커밍아웃을 하고 있다는 사실에 감사하는 것입니다. 일종의 자체 개발 방식이므로 wordpress.com에서 시작한 여정과 마찬가지로 말 그대로 코드 유형 웹 사이트가 더 발전된 개발 방식으로 빠르게 전환되지 않을 것입니다. 따라서 청중이 워드프레스 개발과 함께 현대적인 도구를 인용할 때 그것이 당신에게 의미하는 바가 무엇이며 그것이 왜 중요한지 이야기할 때와 같이 이해하도록 도와주세요.
JP: 네. 그래서 제가 접근하는 사람에 대해 승인을 받는 방법에 대해 말하자면, 저는 WordPress 플러그인 개발자, 당신은 웹 애플리케이션 개발자가 될 것입니다. 귀하의 사이트를 위해. 그것은 존재하지 않는 것을 수행하는 고유한 플러그인일 수 있습니다. 알다시피 이는 WooCommerce를 비즈니스를 위해 독특하고 흥미로운 방식으로 확장하거나 사람들이 오픈 소스를 배포하거나 판매하기 위해 개발 중인 플러그인을 확장합니다. 그래서 당신이 그것을 할 때 당신은 알지 못합니다. 제가 Hello와 같은 플러그인을 만들기 시작했을 때와 같이, 의심의 여지없이, 그것은 단지 하나의 파일일 뿐입니다. 당신은 정말로 그것을 위해 특별한 것이 필요하지 않습니다. 그러나 복잡성이 증가함에 따라 자동화된 종속성이 시작되고 WordPress 스크립트 패키지 도구를 사용하고 싶고 동일한 입력을 사용할 WordPress 구성 요소 패키지를 사용하고 Gutenberg가 알고 있는 양식 컨트롤 종류를 선택하고 싶습니다. 그렇게 하면 NPM이나 yarn과 같이 자동으로 설치할 수 있는 무언가가 필요하기 시작하고 빌드 프로세스를 자동으로 실행하여 브라우저에 안전한 JavaScript, 웹 스크립트를 생성할 수 있는 도구가 필요합니다. 그런 다음 자동 테스트라고 하는 작업을 시작합니다. 여기서 코드가 올바른 방식으로 실행되는지 확인하기 위해 코드를 실행하는 추가 코드를 작성합니다. 거기에는 많은 복잡성이 있습니다. 제 생각에는 이러한 도구를 배우고 동시에 두 가지를 배우고 동시에 사용하는 방법을 배우기 때문에 어렵게 만드는 것 같습니다.
DV: 패키지를 설치하고 종속성을 처리한 다음 테스트 제품군을 실행하는 것과 같은 현대적인 것에 대해 이야기할 때마다 자동화라는 단어를 사용하여 설명하는 것을 들었기 때문에 흥미로웠습니다. 그리고 이 과정을 진행하지 않았다면 자동화와 여러분이 만들고 있는 소프트웨어가 어떤 역할을 하는지 모두 배워야 한다는 것을 알고 있는 것 같습니다. 그리고 저는 그것이 많은 사람들에게 엄청난 도전이라는 것을 알 수 있었습니다. 나는 그 여정에 대해, 그리고 아마도 사람들이 그것을 극복할 수 있는 방법에 대해 궁금합니다. 우리는 첫 번째 휴식을 취합니다. 곧 돌아올 것입니다. 광고 시간에 연결할 시간입니다. 계속 지켜봐 주세요. 자세한 내용은 잠시 후 이 버튼을 누르십시오. W EMR에서 이 WordPress 커뮤니티 팟캐스트를 다시 누르신 것을 환영합니다. 우리는 현대 도구 및 자동화된 테스트 및 WordPress 개발의 중요성에 대해 Josh Pollack과 이야기하는 중입니다. 조쉬, 휴식 시간 직전에 당신은 현대적인 도구에 대해 설명하고 있었습니다. 당신은 일종의 핵심 구성 요소 목록을 살펴보았을 것입니다. 당신은 우리가 가기 전에 자동화를 계속 강조했고 사람들이 자동화된 접근 방식과 도구가 수행하는 작업의 종류를 모두 배워야 한다는 점을 지적했습니다. 그것이 당신을 위한 도전이었습니까? 이러한 유형의 개발을 채택하기 시작하면서?
JP: 글쎄요, 완전히요. I'm a nerd for like, people. 그 부분이 싫어요. 나는 그것을 즐긴다. 하지만 제가 기능을 작성하려고 할 때, 제 두뇌가 공간에 있을 때 저는 클라이언트와 이야기했고 그들은 이것이 이렇게 생겼고 여기로 가려면 이것이 필요합니다. PHP와 JavaScript 코드를 작성하고 싶습니다. 자동화된 테스트 설정을 작성하거나 NPM을 구성하고 싶지는 않습니다. 실제 일을 하는 것처럼 뇌 공간에 있을 때는 처리하고 싶지 않습니다. 저는 두 분야에 관심이 많아서 늘 도전이었지만, 누구나 그렇듯 한 번에 하기는 어렵습니다. 저와 저, 그리고 저와 같은 다른 사람들을 위해 플러그인 머신이 하는 일은 몇 개의 버튼을 클릭하고 거기에 있는 모든 부품 설정을 자동화하도록 설정하는 것입니다. 그리고 내가 자동화라고 말할 때, 로컬 개발 환경을 설정하고 브라우저에서 볼 수 있도록 하고 변경 사항이 있을 때마다 실행되는 GitHub 작업이 있는 테스트를 실행할 수 있는 추가 정보와 하나의 명령을 가질 수 있다는 것을 의미합니다. 다른 버전의 WordPress, 다른 PHP 버전을 사용하여 다른 환경에서 테스트합니다. 내 코드가 이러한 모든 다른 것들과 상호 호환되는지 자동으로 확인합니다. 그것이 WordPress의 도전이기 때문입니다. 그리고 저는 개발자로서 그것에 대해 어렵게 생각할 필요가 없습니다. 몇 번의 버튼 클릭만으로 설정이 완료되고 Readme에서 많은 작업을 수행하는 이 하나의 명령을 잘라내어 붙여넣을 수 있기 때문입니다. 이 남자는 당신이 그 이유를 알 수 있도록 많은 일을합니다
DV: 많은 추가 단계가 있는 것처럼 머리를 숙여야 하는 추가 작업이 많습니다. 당신에게 더 가까이 다가가기 위해 일종의 선반 프레임워크를 사용하는 것이 좋습니다. 하지만 왜 이 모든 문제를 통해 견적 현대 도구를 개발 프로세스에 통합해야 합니까?
JP: 어떤 경우에는 기본적으로 요구 사항입니다. WordPress 내에서 React를 블록과 같은 용도로 사용하려면 플러그인을 위한 멋진 관리 페이지처럼 구축하고 프론트 엔드 대화형 요소를 사용하여 다음과 같은 방식으로 컴파일하려면 올바른 WordPress 도구를 사용해야 합니다. WordPress 사이트의 다른 반응 기반 구성 요소와 호환성 문제를 일으키지 않습니다. 그래서 당신은 점점 더 당신이 원하는 것처럼 효과적으로 요구 사항이되고 있습니다. 한동안 거기에 있었던 플러그인이있을 수 있으며 약간의 변경이 필요하지만 원하지 않습니다. 이미 존재하는 기능을 깨십시오. 이를 처리하는 가장 좋은 방법은 현재 작동하는 방식을 설명하는 자동화된 테스트를 작성하고 해당 테스트 중 하나가 실패하도록 변경한 경우 백업을 중지하는 것입니다. 사용자. 그것은 당신과 같은 또 다른 경우입니다. 당신의 고객을 행복하게 하고 안정적인 제품을 가지고 있어야 하는 당신의 욕구가 필요가 됩니다.
DV: 좋습니다. 최근 WordPress에서 이에 대해 많은 논의가 있었기 때문에 이것은 그다지 흥미롭지 않습니다. 즉, 여기 WP Engine의 동료 중 한 명인 Rob Stinson이 WordPress의 쉬운 작업이 점점 더 쉬워지고 있다고 지적했습니다. , 블록 편집기와 같이 어려운 일이 점점 더 어려워지고 있습니다. 플러그인을 만들고 거기에 일종의 관찰을 하고 있는 것처럼 반응을 거의 통합하지 않는 것에 비해 과거보다 발전된 개발 접근 방식입니다. 뼈대. 그래서 그것은 정말로 사실입니다. 그리고 이점은 특히 자동화된 테스트와 같이 고장난 물건을 다시 코딩해야 하는 것과 같이 시간이 오래 걸리는 것처럼 들리고 귀하가 귀하의 직업을 유지하거나 배송하는 경우 귀하의 고객인 경우에도 직장을 유지하는 것과 같습니다. , 많은 주요 변경 사항과 금전적 이점이 있는 것과 같은 이점이라고 추측합니다.
JP: 네, 마치 제가 그 기계에 있는 사람인 것처럼요. 또는 이것은 플러그 인 머신 뒤에 있는 일종의 농담입니다. 마치 내가 즉시 이름인 것처럼. 나는 같은 일을 계속해서 잘하지 못한다. 똑같은 똑같은 방식으로. 권리. 그것이 우리가 컴퓨터를 사용하는 이유입니다. 우리가 마치, 이봐, 내가 그와 함께하는 방법을 알려줄게. 우리는 그 코드를 호출합니다. 그리고 나서 우리는 컴퓨터가 같은 일을 하도록 신뢰하면서 그것을 계속해서 실행합니다. 반복해서, 같은 방식으로, 그래서 나에게 이것은 내가 만든 변경 사항이 깨져 매번 똑같은 방식으로 수동으로 테스트할 수 있게 되면 어떻게 되는지에 대한 불안을 원하지 않는다는 것입니다. 그리고 그것은 사람의 실수이거나 48을 실행하는 프로그램이 있습니다. 그리고 우리가 WordPress 플러그인 및 테마 개발자가 자동화된 테스트를 다음과 같이 하지 않고도 더 쉽게 만들 수 있다고 생각합니다. 아, 하고 싶지만 시간이 없습니다 설정하는 방법을 알아내기 위해. 나는 최종 사용자에게 쉬운 것이 더 안정적일 것입니다. 단지 UI를 사용하거나 배우기 쉽게 하려는 것이 아니기 때문입니다. 우리는 이런 사람들이 WordPress에 대한 불만이 되는 것을 원하지 않습니다. 사이트를 운영하고 플러그인을 업데이트합니다. 권리. 이와 같이 사용자 수준에서 모든 사람이 고민하는 문제입니다. 사용자를 위해 직접 해결할 수 있는 사항이 아닙니다. 그것은 우리가 테스트하는 방식에서 WordPress 플러그인을 빌드하는 방식으로 해결해야 하는 것입니다.
DV: 마감 기한은 항상 당신의 기대와 같습니다. 내일 언제 이걸 원하세요? 권리? 오, 6개월 안에 필요하다고 말한 사람은 아무도 없는 것 같아요. 문제 없습니다. 모든 사람은 다음날 모든 것을 원합니다. 따라서 팀은 이러한 압력을 받고 있습니다. 테스트나 테스트 스위트를 작성하는 것에 대해 어떻게 생각하는지 궁금합니다. 사람들에게 일종의 크롤링, 걷기, 달리기, 몇 가지 핵심 영역이 있는지 또는 시작하고 좋아하는지, 무엇을 작성하려고 하는지 완전한 테스트 스위트처럼 느껴지거나 사람들이 배울 때 특정 부분에서 선택하려고 하는데 어떻게 추천하시나요? 전체 테스트 스위트로 이동하는 것처럼 해결하시겠습니까? 덩어리를 벗고 그런 식으로 배우나요? 아니면 그 부분에 대해 어떻게 생각하시나요?
JP: 이것은 훌륭한 질문입니다. 나는 때때로 사람들의 코드를 보고 자동화 테스트를 설정하는 것이 아니라 테스트해야 할 대상에 대해 코칭하는 작업을 좋아하는 사람들과 이런 종류의 컨설팅을 수행합니다. 그리고 많은 경우 이것이 사람들을 망설이게 하는 것 중 하나가 그들이 어떤 테스트도 받지 않고 완전한 테스트 범위를 가질 수 없다는 일종의 죄책감 같은 느낌입니다. 권리. 그리고 저는 그것이 접근하는 것이 이상한 방법이라고 생각합니다. 왜냐하면 그것은 당신이 아직 아무것도 하지 않았기 때문입니다. 물론 당신은 그 일의 결과를 가지고 있지 않습니다. 그리고 당신은 테스트를 작성하지 않았지만 테스트는 모든 것을 다루지 않더라도 유용합니다. 사람들이 가지고 있는 걱정은 제가 전체 테스트 범위를 얻지 못할 것이라는 사실입니다. 내가 몇 가지 테스트를 작성한다면. 예, 하지만 당신은 그것에 한 발짝 더 다가섰습니다. 시작했습니다. 예를 들어, 바로 가기를 추가하는 클라이언트용으로 작성한 플러그인이 있습니다. 그게 전부인 것처럼. 그래서 저는 에 썼습니다. 로그인하지 않은 경우 로그인에 대한 메시지를 표시합니다. 그래서 두 가지 테스트를 작성했습니다. 둘 다 make에서 단축 코드를 렌더링하는 함수를 호출하기만 하면 됩니다. 오류가 발생하지 않는지 확인하십시오. 그것들은 세계에서 가장 상세한 테스트입니다. 그러나 테스트 플러그인을 작성하는 첫 번째 패스 이후에 처음 커밋했을 때 짧은 코드를 생성하는 과정에서와 같이 테스트를 실행하는 것만으로도 많은 오류가 발생했습니다. 수많은 PHP 오류가 생성되었습니다. 그리고 나는 그것들을 해결하고 그것들을 제거할 수 있었습니다. 그리고 그것은 미래에 대한 확신을 주었습니다. 만약 그렇다면 그 단축 코드에 들어가는 것의 서너 가지 다른 부분 중 하나가 중단될 것입니다. 테스트에 실패할 것입니다.
DV: 당신이 만든 소프트웨어의 핵심 기능과 같은 관점에서 생각하고 있는 것 같군요. 핵심 기능을 식별한 다음 테스트를 작성하는 것과 같습니다. 소프트웨어 문제가 발생할 수 있는 부분을 분리하기 위해 시작합니다. 그것이 그들을 데려오는 공정한 방법입니까?
JP: 예, 정말 좋은 테스트 커버리지와 같이 무언가 고장났다는 두 가지 테스트로 시작하기 때문입니다. 각 개별 부품에 대해 하나의 테스트가 필요할 것입니다. 프로그램의. 그래서 그것은 하나의 테스트가 실패한 것과 같습니다. 알겠습니다. 해결하기 위해 내 코드베이스에서 어디로 가야 하는지 정확히 알려줍니다. 새로운 제품 플러그인을 개발하는 방법일 수도 있습니다. 그러나 하나의 테스트가 있는 경우에는 단축 코드가 블로그에서 게시물 편집기에 추가할 수 있는지 확인합니다. 양식을 제출할 수 있고 오류가 없는지 확인하십시오. 그것들은 미래에 그것들이 깨졌을 때 많은 것을 커버합니다. 아시다시피, 그들은 특정한 이유로 실패합니다. 그런 다음 내가 좋아하는 두 번째 유형은 첫 번째 단계와 같습니다. 두 번째 단계는 다음 번에 해당 버그로 인해 실패한 버그 수정 테스트가 있을 때입니다. 이제 버그를 수정하면 통과할 수 있습니다. 이제 테스트에서 조금 더 세부적인 정보가 제공되고 버그를 수정했다는 증거가 있기 때문입니다. 미래에 다시 발생하지 않도록 보호하십시오.
DV: 더 많은 테스트 커버리지를 추가하는 방법으로 미래의 가방을 사용하고 있는 모습이 마음에 듭니다. 그것은 훌륭한 제안으로 그것을 생성하는 영리한 방법입니다. 여기에서 조금 더 깊이 파고들어 Wild West 코딩과 WordPress의 문화에 대해 이야기하고 싶습니다. 우리는 마지막 휴식을 취하고 곧 돌아올 것입니다. 광고 시간에 연결할 시간입니다. 잠시 후 이 버튼을 더 눌러주세요. WMR에서 이 WordPress 커뮤니티 팟캐스트를 누르기 위해 다시 오신 것을 환영합니다. 우리는 Josh Pollock과 함께 WordPress 개발자를 위한 최신 도구에 대해 이야기하고 있습니다. 휴식 시간 직전에 우리는 가장 중요한 기능에 먼저 초점을 맞추는 일종의 테스트 스위트를 작성하는 것과 같이 Josh가 어쨌든 당신에게 접근하는 것에 대해 어떻게 생각하는지에 대해 조금 이야기했습니다. 테스트 스위트를 강화하기 위해 현재 일종의 버그를 사용하는 것에 대한 Josh의 제안이 정말 마음에 들었습니다. 정말 똑똑하다고 생각했습니다. 알다시피, WordPress에는 카우보이 카우걸 코딩 문화가 있습니다. 만약 당신이 Wild West에서 당신의 거시기를 이라고 부르게 된다면 자동화된 테스트의 문화가 뿌리를 내리기 시작하는 것을 보십니까? . 당신은 또한 요구 사항뿐만 아니라 자동화 테스트의 개념도 말했습니다. 그것이 WordPress에 뿌리를 내리고 있다고 느끼십니까, 아니면 5분 설치 및 10분 웹 사이트를 알고 있는 것처럼 여전히 느끼십니까?
JP: 글쎄요, 프로젝트에 따라 다르겠죠? 뭔가 문제가 있는 것처럼 machine.com에 플러그인처럼 연결할 수 있을 때 정말 좋은 것 같습니다. WordPress가 있는 하나의 웹사이트는 지금 정말 저 자신을 구축하고 있습니다. 나는 버전 관리 아래에 그 어떤 것도 가지고 있지 않다. 그런 사용자 정의 코드가 약간 있는 것처럼 고객이 없습니다. 나는 Hello Dolly로 수정하는 것을 좋아합니다. 권리. 그것은 선반에서 나온 물건과 같습니다. 하지만 예전에 에이전시에서 일했던 것처럼 생각해요. 모든 배포가 자동화되었잖아요? 풀 요청 워크플로를 사용하여 모든 것이 버전 제어에 체크인되었습니다. 그런 다음 한 분기에 병합하면 사이트가 자동으로 배포됩니다. 훨씬 더 많은 도구가 있습니다. 더 많은 호스트가 이를 지원하고 이를 수행하는 방법을 문서화하고 전체 사이트를 구축하는 경우와 같이 자동화된 배포를 가져옵니다. 그 부분을 표준화할 수 있는 기회이기 때문에 좋은 첫걸음이라고 생각합니다. 그리고 그 파이프라인에서 거기에 테스트를 추가하기 시작합니다. 하는 분들이 많아지는 것 같아요. 그리고 저는 FTP 클라이언트를 사용하여 오늘 아침 일찍 파일을 서버로 끌어다 놓습니다. 때로는 이것이 유일한 방법이기 때문입니다. 음, 그리고 제 생각에는, 네, 점점 나아지고 있다고 생각합니다. 하지만 아시다시피, 사람들에게는 충분히 쉽지 않습니다. 그렇지 않은 것처럼 작곡가는 네이티브 개념이나 그것을 더 어렵게 만드는 언론 군단이나 NPM이 아니기 때문이라고 생각합니다. 나는 그 공간에서 해야 할 일이 더 많다고 생각한다. 그리고 정말 그런 식으로 관심이 많습니다. 시간이 더 있었다면 평정의 문제는 그렇지 않다고 생각했을 것입니다. 워드프레스와 함께 작동합니다. 납은 훌륭한 도구가 아닙니다. 전체 프로젝트에서 작동하지만 이러한 종류의 문제에 대한 종속성을 재귀적으로 설치할 수 없는 것처럼
DV: 하지만 당신의 시험은 어떻습니까? 귀하의 테스트는 여기에서 IT 담당자처럼 사용합니다. 왜냐하면 현대 개발을 채택하려는 많은 사람들에게 큰 방해 요소는 테스트 스위트를 사용할 수 있다는 것과 같기 때문입니다. 어떤 테스트 도구를 사용할 수 있습니까? 자동화된 테스트 및 도구 또는 WordPress용 테스트 제품군 또는 프레임워크에 대해 듣는 사람들을 위한 권장 사항이 있는지 궁금합니다.
JP: 글쎄요, WordPress 개발자의 경우 플러그인처럼 하고 있습니다. 워드프레스 표준인 PHP 유닛을 PHP 테스트용 플러그인으로 사용하지 않습니다. 그리고 Yoast에서 개발한 오픈 소스의 일부 도구가 있으며 그 일부로 PHP 장치로 더 쉽게 테스트할 수 있으며 이 도구는 모두 컴퓨터에 자동으로 설정됩니다. 그런 다음 React와 같은 JavaScript jest의 경우. 내 말은, 그것은 WP 스크립트의 일부입니다. 제가 사용하는 것들이지만 사이트 개발을 하고 있는 사람들을 위해 go Students specter 또는 Checkley와 같은 도구를 사용하여 자동 테스트를 수행할 수 있습니다. 여기에서 테스트를 프로그래밍할 수 있는 브라우저 확장이 있습니다. 그런 다음 브라우저로 이동하여 기록을 클릭하고 웹사이트에 로그인하고 게시물을 추가하거나 차단 또는 그런 종류의 항목을 추가하면 웹사이트에서 실행될 수 있습니다. 알다시피 하루에 한 번 또는 일주일에 한 번. 그리고 그것은 코드 자동화 테스트를 수행하지 않는 방법입니다. 웹사이트를 소유하고 있는 사람들이 알다시피, 클라이언트가 메시지를 보내고 "이 페이지가 깨졌습니다."라고 말하는 것은 정말 큰 일입니다. 그것은 고객과의 상호 작용을 시작하는 좋은 방법이 아닙니다. 마지막 업데이트가 해당 섹션을 손상시켰고 이미 수정했다는 자동 확인 알림이 표시되는 것이 훨씬 좋습니다.
DV: 나는 지난 몇 년 동안 내가 했던 모든 현대적인 워크플로 에피소드 중에서 생각합니다. 나는 한 사람이 그런 개념을 도입한 적이 없다고 생각합니다. 정말 똑똑합니다. 이것은 굉장했습니다. 조쉬, 오늘 함께해주셔서 감사합니다.
JP: 천만에요. 나를 주셔서 감사합니다.
DV: Josh가 자신의 최신 WordPress 개발자 여정을 확장하기 위해 무엇을 하는지 자세히 알고 싶다면 pluginmachine.com을 확인하세요. 이 WordPress 커뮤니티 팟캐스트와 WMR을 들어주셔서 감사합니다. 호스트 David Vogelpohl입니다. 저는 WP Engine에서 제 역할을 통해 WordPress 커뮤니티를 지원합니다. 그리고 매주 Press This를 통해 커뮤니티 최고의 소식을 전해드리고 싶습니다.