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