문제

저는 PHP로 작업하는 웹 개발자입니다.C# 데스크톱 응용 프로그램에서 테스트 기반 개발을 사용한 경험이 제한적입니다.이 경우 단위 테스트 프레임워크에 nUnit을 사용했습니다.

새 프로젝트에서 TDD를 사용하고 싶지만 어디서부터 시작해야 할지 잘 모르겠습니다.

PHP 기반 단위 테스트 프레임워크에 대한 권장 사항은 무엇이며 TDD 개념을 처음 접하는 사람을 위한 좋은 리소스는 무엇입니까?

도움이 되었습니까?

해결책

나는 PHPUnit과 단순 테스트 그리고 나는 찾았다 단순 테스트 더 쉽게 사용할 수 있습니다.

TDD에 관한 한, 나는 가장 순수한 의미에서 그것에 대해 많은 행운을 누리지 못했습니다.나는 그것이 주로 내 부분의 시간/훈련 문제라고 생각합니다.

나중에 테스트를 추가하는 것은 어느 정도 유용했지만 제가 가장 좋아하는 일은 수정해야 할 특정 버그를 테스트하는 SimpleTest 테스트를 작성하는 것입니다.이를 통해 문제가 실제로 수정되었는지 확인하고 수정된 상태를 유지하는 것이 매우 쉽습니다.

다른 팁

나는 강력히 추천한다 Kent Beck의 테스트 중심 개발(ISBN-10:0321146530).PHP용으로 특별히 작성된 것은 아니지만 개념이 있고 PHP로 쉽게 번역할 수 있어야 합니다.

PHPUnit은 표준이지만 때로는 부담스럽기도 하므로 너무 복잡하다고 생각되면 확인해 보세요. PHPT 시작하려면.테스트를 작성하는 것은 매우 쉽습니다.어떤 프로그래머에게도 생각할 필요가 없습니다.

그리고 귀하의 TDD 질문에 대답하자면 - TDD가 PHP 공간에서 널리 사용되는지 확실하지 않습니다.신속한 애플리케이션 개발과 TDD가 다소 충돌한다는 것을 알 수 있습니다(엄격히 IMHO).TDD에서는 빌드한 내용에 대한 전체 그림을 갖고 테스트를 미리 작성한 다음 코드를 구현하여 테스트를 통과해야 합니다.

예를 들어 우리가 하는 일은 작업이 끝나면 많은 테스트를 작성하는 것입니다.때때로 통과하는 가짜 테스트로 끝나기 때문에 이것이 항상 최선의 접근 방식은 아니지만 실제로는 유용하지는 않지만 적어도 확장할 수는 있습니다.내부적으로 우리는 테스트를 계속하고 기본적으로 우리가 발견한 각 버그에 대한 테스트를 작성합니다.그래야 더욱 단단해집니다.

저는 개인적으로 SimpleTest를 선호합니다.명령줄 테스트 실행기와 웹 기반 테스트 실행기가 있으며 Eclipse도 있습니다. 플러그인 IDE 자체에서 단위 테스트를 실행할 수 있습니다.Zend에서 PHPUnit으로의 연결이 작업하기가 훨씬 더 어렵다는 것을 알았습니다. 특히 디버거에서는 더욱 그렇습니다.

SimpleTest를 사내에서 사용하는 방식은 다음과 같습니다. 지속적인 통합 우리가 직접 쓴 대본.SVN에 기능을 체크인할 때마다 단위 테스트가 포함됩니다.매시간마다 CI 스크립트가 실행되고 모든 단위 테스트를 실행하는 명령줄 PHP 스크립트를 호출합니다.휴식 시간이 있으면 이메일을 받습니다.이는 시스템의 버그를 줄이는 좋은 방법이었습니다.

그러나 다음과 같은 것을 쉽게 사용할 수 있습니다. cron 작업이나 SVN 체크인 후크를 사용하여 자동으로 테스트를 실행합니다.

실제로 추가 도움을 받기 위해 저에게 직접 연락하고 싶으시면 SO에 있는 내 프로필 정보를 통해 저에게 연락하실 수 있습니다.나는 당신을 도와주고 싶습니다.

SimpleTest는 훌륭한 시스템입니다.저는 약 5개월 전에 TDD에 대해 들어본 적이 없었지만 SimpleTest를 시작했습니다. SimpleTest는 배우기 쉽지만 여전히 강력합니다.자료에 관해서는 현재 읽고 있습니다. 예를 들어 TDD Kent Beck의 작품입니다. 좋습니다.

당신은 조사해야 PHPUnit, nUnit과 거의 비슷해 보입니다.

당신이 봐야 할 또 다른 현대적인 도구는 다음과 같습니다. 암호수용.PHPUnit보다 훨씬 간단하고 시나리오 기반 접근 방식이 통합되어 있어 테스트에서 문서를 생성하는 데 매우 유용합니다.

테스트 주도 개발은 항상 코드보다 테스트가 먼저 작성되는 접근 방식입니다.당신은 배워야한다 PHPUNIT 먼저 TDD 개발을 시작합니다.그런 다음 함수를 만드는 동안 함수가 어떻게 실패할 수 있는지 항상 생각하고 phpunit에서 테스트 케이스를 작성해야 하며, 결국 테스트를 통과하기 위해 코드를 작성해야 합니다.새로운 접근 방식이므로 처음에는 조금 어렵지만 일단 익숙해지면 개발 버그 및 코딩 스타일 이후에 특히 매우 유용하다는 것을 알게 될 것입니다.이 과정을 거치시면 됩니다 단계별 이 개념을 이해하기 위한 가이드입니다.

개발 후에 테스트를 작성하면 쓸모가 없다는 것을 항상 기억하십시오.따라서 단위 테스트를 작성하려는 경우 TDD는 필수입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top