[php] SimpleTest와 PHPunit

이 두 가지에 대한 경험이있는 사람이 있다면 둘 사이의 중요한 차이를 밝힐 수 있는지 궁금 합니다.

특정 경우에 적합하도록 각각의 특정 강도?



답변

이 질문은 꽤 오래되었지만 여전히 트래픽과 답변을 얻고 있기 때문에 여기에 다시 요점을 언급했지만 다른 (최신) 질문에 대해서는 이미 설명했습니다.

정말 정말 SimpleTest 그 당황 여전히 phpunit을 대안으로 간주됩니다. 어쩌면 내가 잘못 알고 있지만 내가 본 한

  • PHPUnit이 표준입니다. 대부분의 프레임 워크는이를 사용합니다 (Zend Framework (1 & 2), Cake, Agavi, 심지어 Symfony도 Symfony 2에 자체 프레임 워크를 phpunit에 적용).
  • PHPUnit은 모든 PHP IDE (Eclipse, Netbeans, Zend Stuide, PHPStorm)에 통합되어 있으며 잘 작동합니다.
  • Simpletest는 PHP 5.1 (일명 구식)의 일식 확장을 가지고 있으며 다른 것은 없습니다.
  • PHPUnit은 코드 커버리지 및 테스트 보고서에 대한 모든 표준 로그 파일을 출력하므로 모든 지속적인 통합 서버에서 잘 작동합니다.
  • 가장 간단한 것은 아닙니다. “그냥 테스트”를 중단하고 소프트웨어 개발을 시작하면 시작하는 데 큰 문제는 아니지만 큰 시간을 물게됩니다.
  • PHPUnit은 적극적으로 유지 관리되고 안정적이며 모든 코드베이스, 모든 시나리오 및 테스트 작성 방법에 적합합니다.
  • (주관) PHPUnit은 Simpletest보다 훨씬 더 나은 코드 커버리지 보고서를 제공합니다
  • PHPUnit을 사용하면 IDE ( Netbeans , Eclipse 등) 내부에서 이러한 보고서를 얻을 수 있습니다 .
  • 또한에 대한 몇 가지 제안이 있습니다 web interface to phpunit tests.

아직 SimpleTest에 찬성하는 주장을 보지 못했습니다. PHPUnit은 pear를 통해 사용 가능하므로 설치가 더 간단하지 않습니다.

pear channel-discover pear.phpunit.de
pear install phpunit/PHPUnit

“첫 번째 테스트”는 거의 동일하게 보입니다.

현재는 PHPUnit 3.7다음을 사용하여 설치 하기가 훨씬 쉽습니다 .PHAR Archive

wget http://pear.phpunit.de/get/phpunit.phar
chmod +x phpunit-3.7.6.phar

또는 Windows 에서 phar를 다운로드 하여 실행 중입니다.

php phpunit-.phar

또는 지원되는 작곡가 설치 방법을 사용할 때

"require-dev": {
    "phpunit/phpunit": "3.7.*"
}

당신의 composer.json에.


PHPUnit을 테스트하려는 모든 것에 솔루션이 있으며 거의 ​​모든 곳에서 도움말을 찾을 수 있습니다 (SO, #phpunit irc 채널, freenode, 거의 모든 PHP 개발자;))

내가 잘못 말하거나 무언가를 잊어 버린 경우 저를 수정하십시오 🙂

PHP 테스팅 툴 개요

비디오 : http://conference.phpnw.org.uk/phpnw11/schedule/sebastian-bergmann/

슬라이드 : http://www.slideshare.net/sebastian_bergmann/the-php-testers-toolbox-osi-days-2011

Atoum 과 같이 “PHP를위한 단순하고 현대적이며 직관적 인 단위 테스트 프레임 워크!”라고 언급합니다.


전체 공개

원래 PHP 답변 프로젝트와 관련이없는이 답변을 2011 년 1 월에 작성했습니다. 그 이후로 PHPUnit에 기여했습니다.


답변

지금은 PHPUnit을 선호하지만 시작했을 때 항상 명령 줄에 액세스 할 수있는 것은 아니기 때문에 SimpleTest를 사용했습니다. SimpleTest는 훌륭하지만 실제로는 PHPUnit에 대해 유일하게 가지고있는 것은 웹 러너입니다.

PHPUnit을 좋아하는 이유는 phing (SimpleTest 와 마찬가지로 ), phpUnderControlXinc 와 같은 다른 PHP 개발자 도구와 통합 되기 때문 입니다. 버전 3.0부터는 조롱 지원이 있으며 적극적으로 개발되고 있으며 문서가 우수합니다.

실제로이 질문에 스스로 대답하는 유일한 방법은 두 가지를 모두 시도해보고 어떤 스타일에 더 잘 맞는지 확인하는 것입니다.

편집 : Phing은 이제 SimpleTest와 통합됩니다.


답변

  • PHPUnit을 다운로드하고 설치하는 방법을 이해할 수 없었습니다.
  • 그러나 SimpleTest를 설치하는 방법을 쉽게 이해할 수 있습니다.

    (내가 PHPUnit에 대한 지침을 기억할 수있는 한 “PEAR를 통해 설치하면 다른 방법으로 지침을 제공하지 않습니다”)를 참조하십시오.

  • http://www.phpunit.de/manual/current/en/installation.html

들어 SimpleTest , 그냥 다운로드하여 코드에서 가리 킵니다.

그래서 가장 간단한 것이 나에게 이겼다.


답변

Baphled는 SimpleTest와 PHPUnit3 에 대한 좋은 기사를 가지고 있습니다.


답변

허용 된 답변에서 언급 된 요점의 절반은 단순히 사실이 아닙니다.

SimpleTest

  • 간편한 설정 (폴더 추출, 포함 및 실행)
  • 단순히 폴더를 버전 관리로 확인하십시오 (요즘 phpunit으로 시도하십시오 :))
  • 적은 의존성과 많은 확장 (webtester, formtester, auth)
  • 확장하기 쉬운 코드 커버리지 리포터 (도트, 함수 이름, 색상)
  • 코드 커버리지 요약 (PHPUnit 4.x에 최종 제공)
  • 그룹 및 단일 파일 실행을 갖춘 괜찮은 웹 러너 및 ajax 웹 러너
  • 여전히 더 나은 diff 도구 (공백 또는 줄 바꿈 문제 없음)
  • phpUnit으로 SimpleTests를 실행하기위한 어댑터 / 래퍼
  • 호환성 PHP5.4 +

단점 :

  • 산업 표준 아님 (PHPUnit)
  • 적극적으로 유지되지 않는

답변

SimpleTest가 PHPUnit보다 설정하기가 훨씬 쉽다는 것을 알았습니다. 그냥 추출하면 좋습니다. 이 방법의 장점은 전체 테스트 프레임 워크를 소스 코드와 동일한 방식으로 저장할 수 있으므로 동일한 프레임 워크 코드를 사용하고 있다는 사실을 알기 때문에 둘 이상의 시스템에서 작업하는 경우 이점이 있습니다. 특히 어떤 식 으로든 수정 한 경우.

따라서 SimpleTest의 장점은 매우 가볍고 휴대하기 쉽다는 것입니다.

SimpleTest는 또한 매우 간단한 HTML GUI와 함께 제공되므로 원하는 경우 쉽게 확장 할 수 있습니다. 내가 아는 한 PHPUnit에는 HTML GUI가 포함되어 있지 않지만 Cool 과 같은 GUI :를 다운로드 할 수 있습니다 .


답변

글쎄, phpUnit 웹 기반 UI 테스트 사례 러너를 만들고 sourceforge에서 사용할 수있게했습니다. ajax를 사용하고 sourceforge에서 샷 검사를하고 싶다면 멋진 인터페이스를 제공합니다. 프로젝트 이름은 phpunitwebui이고 웹 사이트는 http://phpunitwebui.sourceforge.net/