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


Answers

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

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

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

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

Question

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

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




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

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

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







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

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

Но оба хороши




Этот вопрос старый, но я хочу добавить свой опыт: теперь 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 .




Links