Простой тест против PHPunit


Answers

Я предпочитаю PHPUnit сейчас, но когда я начал, я использовал SimpleTest, поскольку у меня не всегда был доступ к командной строке. SimpleTest хорош, но единственное, что у него есть на PHPUnit, на мой взгляд, это веб-бегун.

Причины, по которым мне нравится PHPUnit, это то, что он интегрируется с другими инструментами разработки PHP, такими как phing (как и SimpleTest), phpUnderControl и Xinc . Начиная с версии 3.0, она имеет насмешливую поддержку, активно развивается, и документация отличная.

На самом деле единственный способ ответить на этот вопрос для себя - это попробовать какое-то время и посмотреть, что лучше подходит вашему стилю.

EDIT: Phing теперь интегрируется с SimpleTest.

Question

Мне было интересно, может ли кто-нибудь, у кого есть опыт в обоих этих вещах, пролить свет на существенную разницу между ними, если таковые вообще существуют?

Любая конкретная сила каждого из них делает его подходящим для любого конкретного случая?




Этот вопрос старый, но я хочу добавить свой опыт: теперь PHPUnit является стандартом, но если вы работаете с унаследованной системой, которая использует множество и множество глобальных переменных, вы можете застрять от получения. Похоже, что нет хорошего способа выполнить тесты с глобальными vars в PHPUnit, вам, похоже, придется устанавливать переменные через $ GLOBALS, который НЕ ДОЛЖЕН, если у вас есть множество файлов, устанавливающих глобальные переменные во всем мире. Хорошо, некоторые могут сказать, что проблема в старой системе, но это не значит, что мы не можем проводить тесты на такой системе. С SimpleTest такая вещь проста. Я полагаю, что если PHPUnit позволяет нам включать файл во всем мире, а не в пределах любой области класса / функции, это не будет слишком большой проблемой.

Еще одно перспективное решение - http://www.enhance-php.com , выглядит красиво :)




Как было указано, это главным образом выбор предпочтений, так как оба будут запускать тесты, которые вы пишете для него, и отчитываться о результатах.

Веб-интерфейс Simpletest очень полезен, но иногда он может оказаться громоздким. В моем текущем проекте мне пришлось бы больше работать в системе, чтобы мое приложение (API) работало с веб-интерфейсом (правильно настройте apache, скопируйте файлы в root_vtml и т. Д.), Чем это было бы просто запустить phpunit из рабочего пространства eclipse. Поэтому я выбираю PHPUnit. Кроме того, использование PEAR было большим плюсом, поскольку вам не нужно вручную отслеживать обновления. Просто запустите pear upgrade раз в то время, и PHPUnit будет pear upgrade .




когда есть тысячи функций для тестирования на одном шаге, phpunit - это путь, простой тест не подходит, поскольку он основан на Интернете.

Я все еще использую простой веб-интерфейс для теста на малый масштаб.

Но оба хороши







Я нашел SimpleTest еще проще, чем PHPUnit для настройки. Просто извлеките его, и вы хорошо пойдете. Преимущество этого заключается в том, что вы работаете на нескольких компьютерах, поскольку вы можете хранить всю структуру тестирования так же, как и исходный код, и тем самым знать, что используете один и тот же код среды. Особенно, если вы его каким-либо образом модифицируете.

Итак, я бы сказал, что сила SimpleTest в том, что она очень легкая и переносная.

SimpleTest также поставляется с очень простым графическим интерфейсом HTML, который довольно легко расширить, если вы хотите. Насколько я знаю, PHPUnit не включает графический интерфейс HTML, но есть графический интерфейс: s, который можно загрузить, например Cool .