Мне было интересно, если кто-то, кто имеет опыт в обоих этих вещах, может пролить свет на значительную разницу между этими двумя, если таковые имеются?
Какая-то особая сила каждого из них делает его подходящим для какого-то конкретного случая?
Мне было интересно, если кто-то, кто имеет опыт в обоих этих вещах, может пролить свет на значительную разницу между этими двумя, если таковые имеются?
Какая-то особая сила каждого из них делает его подходящим для какого-то конкретного случая?
Этот вопрос довольно устарел, но по мере того, как он все еще получает трафик и ответы, хотя я снова заявляю о своей точке, даже поэтому я уже делал это по другим (более новым) вопросам.
Я действительно действительно, что SimpleTest еще считается альтернативой phpunit. Может быть, я просто дезинформирован, но насколько я видел:
web interface to phpunit tests
.Я еще не вижу никаких аргументов в пользу SimpleTest. Это еще не проще, поскольку PHPUnit доступен через грушу:
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
или для окон просто загрузка phar и запуск:
php phpunit-.phar
или при использовании поддерживаемого композитора установить способами, как
"require-dev": {
"phpunit/phpunit": "3.7.*"
}
для вашего композитора .json.
Для всего, что вы хотите проверить, PHPUnit будет иметь решение, и вы сможете найти помощь практически где угодно (SO, #phpunit irc channel на freenode, почти каждый разработчик 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!"
Я изначально написал этот ответ в январе 2011 года, где у меня не было никакого отношения к проекту PHP Testing. С тех пор я стал участником PHPUnit.
Я предпочитаю PHPUnit сейчас, но когда я начал, я использовал SimpleTest, поскольку у меня не всегда был доступ к командной строке. SimpleTest хорош, но единственное, что у него есть на PHPUnit, на мой взгляд, - веб-бегун.
Причинами, которые мне нравятся PHPUnit, является то, что он интегрируется с другими инструментами разработки PHP, такими как phing (как и SimpleTest), phpUnderControl и Xinc. Начиная с версии 3.0, он издевается над, активно развивается, и документация отличная.
На самом деле единственный способ ответить на этот вопрос для себя - это попробовать какое-то время и посмотреть, что лучше подходит вашему стилю.
EDIT: Phing теперь также интегрируется с SimpleTest.
Я мог бы, однако, легко понять, как установить SimpleTest.
(Насколько я помню инструкции для PHPUnit, сказал что-то вроде строк "установить его через PEAR, и мы не будем давать никаких инструкций о том, как это сделать другим способом" ) см:
Для SimpleTest просто загрузите его и укажите на него из своего кода.
Так что Simpletest выиграл для меня.
У Baphled есть хорошая статья о SimpleTest vs. PHPUnit3.
Половина из упомянутых пунктов в принятом ответе просто неверна:
SimpleTest имеет
Недостаток:
Я нашел SimpleTest еще проще, чем PHPUnit для настройки. Просто извлеките его, и вы хорошо пойдете. Преимущество этого заключается в том, что вы работаете на нескольких компьютерах, поскольку вы можете хранить всю структуру тестирования так же, как и исходный код, и тем самым знать, что используете один и тот же код среды. Особенно если вы каким-либо образом измените его.
Итак, я бы сказал, что сила SimpleTest в том, что он очень легкий и портативный.
SimpleTest также поставляется с очень простым графическим интерфейсом HTML, который довольно легко расширить, если вы хотите. Насколько я знаю, PHPUnit не включает графический интерфейс HTML, но есть GUI: s, доступные для загрузки, такие как Cool.
Ну, я сделал веб-приложение для тестирования на основе веб-интерфейса phpUnit и сделал его доступным для sourceforge. Использует ajax и имеет довольно классный интерфейс, если вы хотите дать ему шанс проверить его на sourceforge. Название проекта phpunitwebui и веб-сайт http://phpunitwebui.sourceforge.net/
Как было указано, это скорее выбор предпочтений, так как оба будут запускать тесты, которые вы пишете для него, и отчитываться о результатах.
Пользовательский интерфейс Simpletest очень полезен, но иногда он может быть громоздким. В моем текущем проекте мне пришлось бы больше работать в системе, чтобы мое приложение (API) работало с веб-интерфейсом (правильно настройте apache, скопируйте файлы в root_vtml и т.д.), Чем это было бы просто запустить phpunit из рабочего пространства eclipse. Поэтому я выбираю PHPUnit. Кроме того, использование PEAR было большим плюсом, поскольку вам не нужно вручную отслеживать обновления. Просто запустите pear upgrade
время от времени, и PHPUnit будет обновляться.
Я не проверил Simple Test на некоторое время, в последний раз у него был плагин eclipse, что для меня является основным фактором, но он не обновлялся в течение длительного времени. Себастьян Бергманн все еще очень активно работает над PHPUnit, но ему все еще не хватает хорошего плагина для eclipse, но он включен для новой Zend Studio.
Этот вопрос старый, но я хочу добавить свой опыт: теперь PHPUnit является стандартом, но если вы работаете с унаследованной системой, которая использует множество и множество глобальных переменных, вы можете застрять от получения. Похоже, что нет хорошего способа выполнить тесты с глобальными vars в PHPUnit, вам, похоже, придется устанавливать переменные через $GLOBALS, который НЕ ДОЛЖЕН, если у вас есть множество файлов, устанавливающих глобальные переменные во всем мире. Хорошо, некоторые могут сказать, что проблема в старой системе, но это не значит, что мы не можем проводить тесты на такой системе. С SimpleTest такая вещь проста. Я полагаю, что если PHPUnit позволяет нам включать файл по всему миру, а не в любую область класса/функции, это тоже не будет проблемой.
Другим перспективным решением является http://www.enhance-php.com, выглядит хорошо:)
Это с точки зрения очень случайного PHP-разработчика:
Мне потребовалось два дня, чтобы понять PHPUnit, в основном пытаясь отладить в Eclipse, что я, наконец, сдался.
Мне потребовалось два часа для установки Simpletest, включая debug в Eclipse.
Возможно, я найду недостатки Simpletest в будущем, но до сих пор он хорошо справляется с тем, что мне нужно: TestClasses, Mock-объекты, отладка тестового кода и веб-интерфейс для быстрого момента снимка ситуации.
Снова: Это с точки зрения очень случайного пользователя PHP (даже не разработчика: -)
когда есть тысячи функций для тестирования за один раз, phpunit - это способ пойти, простой тест не подходит, поскольку он основан на Интернете.
Я все еще использую простой веб-интерфейс для малогабаритного теста.
Но оба хороши