2011-01-07 2 views
8

Можно создать дубликат:
Simple test vs PHPunitЧто модульного тестирования в PHP, чтобы начать

Я новичок в передовой практики в области разработки программного обеспечения. Мне нужно знать с помощью блока модулей проверки ведьм, я должен использовать. Я вижу, что некоторые люди используют PHPUnit, а другие используют SimpleTest. Какой пакет я должен выбрать для новичков?

С наилучшими пожеланиями,

+2

Единственная объективная помощь, которую я могу предложить, это то, что PHPUnit является де-факто стандартом в UnitTesting. – Gordon

+0

@ Гордон, не уверен, что я зашел так далеко, чтобы сказать «де-факто стандарт». Simpletest по-прежнему очень хорошо используется, хотя разработка застопорилась. –

+2

@ Натан, с которым мне интересно? Я никогда не вижу никаких докладчиков, выступающих за SimpleTest, когда я посещаю конференции. Но всегда есть люди, показывающие, как делать что-то с PHPUnit. – Gordon

ответ

0

я нашел SimpleTest легко начать, и использовать для своих целей. На данный момент серьезных проблем не обнаружено. Руководство/веб-сайт немного запутанно, но с некоторым примером поиска достаточно.

Не чувствует себя очень профессионально, но, как вы просите начинающую рамку, все средства, попробуйте что один :)

0

Вот хорошо читать ... Это использует SimpleTest и начать с этим лучше чем PHPUnit ...

Newbie's Guide to Unit testing

+0

Собственно, нет. Он дразнит PHPUnit, а затем проходит через SimpleTest, поскольку это «гораздо более простая тестовая среда». – Adam

+0

Yep .. Я имел в виду, что он использует «SimpleTest» :) –

2

SimpleTest немного легче понять, но PHPUnit это лучший (на мой взгляд, по крайней мере), так что если вы хотите, чтобы начать обучение и использование среды, начните с одного вы собираетесь использовать, когда будете мастером TDD. Не смотрите, проще ли это сейчас, потому что, если вы начинаете с SimpleTest, например, вы начинаете использовать Zend Framework, потому что ваш босс говорит вам об этом, вам придется использовать PHPUnit с ZF. Поэтому подумайте о своем будущем, потому что простая в освоении каркас не обязательно должна быть лучшей, обычно сложнее понять, чем лучше рамки.

Также посмотрите на их изменения, посмотрите, какой из них поддерживается лучше.

5

Я начал с SimpleTest, потому что кривая обучения не казалась такой крутой. Но он не поддерживается и вызывает множество предупреждений в PHP5.3, а также не может делать все, что я хотел. В конечном итоге мне пришлось переключиться на PHPUnit, что было долгим процессом, конвертирующим мои тесты. Если бы я только начал с PHPUnit!

+0

И я все еще не убежден, что мое тестовое покрытие на 100% связано с PHPUnit, тогда как если бы я использовал TDD с PHPUnit с самого начала, это было бы. –

25

Я действительно действительно сбитый с толку, что Simpletest по-прежнему считается альтернативой phpunit. Возможно, я просто дезинформирован, но насколько я видел:

  • PHPUnit является стандартом; большинство фреймворков используют его (например, Zend Framework, Cake, Agavi, даже Symfony отказывается от собственной Framework в Symfony 2 для phpunit).
  • PHPUnit интегрирован в каждую PHP IDE (Eclipse, Netbeans, Zend Stuide, PHPStorm) и работает красиво.
    • У Simpletest есть расширение eclipse для PHP 5.1 (a.k.a. настолько старое, что это на sourceforge) и ничего больше.
  • PHPUnit отлично работает с каждым непрерывным сервером интеграции, так как он выводит все стандартные файлы журналов для покрытия кода и отчетов об испытаниях.
    • Simpletest этого не делает. Хотя это не большая проблема, чтобы начать с нее, вы укусите вас, когда перестанете «просто тестировать» и начнете разработку программного обеспечения (да, это заявление провокационное :) Не относитесь к этому слишком серьезно).
  • PHPUnit активно поддерживается, стабилен и отлично работает для каждой кодовой базы, каждого сценария и каждого способа, которым вы хотите написать свои тесты.
    • SimpleTest является никем не поддерживался, устаревшие и не очень хорошо работает с PHP 5.3 (выпущена более года назад)
  • (субъективная) PHPUnit provides much nicer покрытия кода отчеты than Simpletest
    • С PHPUnit вы также получите эти отчеты внутри вашего IDE (Netbeans, Eclipse, ...)

Я еще не видел никаких аргументов в пользу Simpletest. Это даже не проще в установке, так как PHPUnit доступен через грушу:

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

и «первый тест» выглядит так же.

Для всего, что вы хотите проверить PHPUnit будет иметь решение, и вы сможете найти помощь в значительной степени в любом месте (SO, #phpunit IRC-канал на Freenode, почти каждый разработчик PHP;))

Пожалуйста, исправьте мне, если я что-то сказал или забыл что-то :)

+1

+1 очень хорошие аргументы! – Gordon

+2

Согласен, очень хорошо. Я думаю, что призывы состоят в том, что он просто выглядит проще для тех, кто начинает тестирование на модуле PHP. И это проще установить, если вы не используете PEAR (который, верьте или нет, некоторые люди этого не делают): вы просто загружаете почтовый индекс и открываете его. –

+0

@Nathan: Согласен, если вы не используете установщик груши (мы этого не делаем на работе, например). Phpunit действительно может стать крупной питой, чтобы работать, если вы не знаете, что тоже искать :). Тем более, что 3.5 – edorian

Смежные вопросы