Что лучше, phpunit или simpletest?

varan

Б̈́̈̽ͮͣ̈Л̩̲̮̻̤̹͓ДͦЖ̯̙̭̥̑͆А͇̠̱͓͇̾ͨД͙͈̰̳͈͛ͅ
Что лучше, phpunit или simpletest?

Что лучше, phpunit или simpletest, и чем?
 

Alexandre

PHPПенсионер
я исп simpletest, там есть моки

phpunit - ближе к классике junit

есть проекты где исп оба.
 

whirlwind

TDD infected, paranoid
Года полтора назад разработчик симплтеста закинул новость, что де разрабатывается новая офигенно удобная версия. Меня в то время симплтест не устраивал и верил я в его развитие слабо. Насколько я знаю, ситуация с симплтестом с места не сдвинулась и по сей день. Если тогда phpunit имел очевидные преимущества перед симплтестом (на вскидку: лучшие моки, раннер, стрикты), то сейчас он еще больше плюшками вкусными оброс. Хотя минусы тоже есть, но лучше минусы в имеющемся функционале, чем отсутствие этого функционала как такового. Мой выбор - phpunit. Жду 4 ветку.
 

varan

Б̈́̈̽ͮͣ̈Л̩̲̮̻̤̹͓ДͦЖ̯̙̭̥̑͆А͇̠̱͓͇̾ͨД͙͈̰̳͈͛ͅ
[offtop]Sad Spirit, у тебя в подписи битая ссылка[/offtop]
 

DYPA

Настоящая dypa (c)
Автор оригинала: Krishna
Когда я поставил simpletest он мне выдал кучу ворнингов в E_STRICT.

На этом я с ним и распрощался. :)
версия в svn без них

имхо симплтест проще приэтом позволяет делать все что нада, в svn есть какое то шевеление

имхо пхпюнит - тормоз, зависит от пира, формат вывода данных имеет совсем неудачный, нет вебморды нормальной (или уже есть?)
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Автор оригинала: DYPA
имхо симплтест проще приэтом позволяет делать все что нада
...80% пользователей любого софта нужно всего 20% его функциональности. поздравляю с попаданием.

в svn есть какое то шевеление
...возможно, это черви копошатся? Релиз-то когда?

имхо пхпюнит - тормоз
...SimpleTest всюду использует одинарные кавычки вместо двойных, и поэтому быстрее на целых 0.005 секунд!1!1!одинодин!

Не, серьёзно, неужели тесты настолько простые, что overhead на тестовый framework занимает существенное время по сравнению с собственно их выполнением?

зависит от пира
...то есть устанавливается при помощи стандартного менеджера пакетов, распространяемого вместе с похапэ. Ужас-ужас-ужас, так хотелось поразвлекаться, руками в SVN работающую ревизию поискать!1!!1!одинодин!

формат вывода данных имеет совсем неудачный, нет вебморды нормальной (или уже есть?)
Dl вроде героически сумел найти.

Не, я даже не хочу сказать, что PHPUnit Гораздо Лучше, возможно лучше SimpleTest (не приходилось использовать), но уровень "аргументации" просто потрясает.
 

DYPA

Настоящая dypa (c)
Автор оригинала: Sad Spirit
...80% пользователей любого софта нужно всего 20% его функциональности. поздравляю с попаданием.
мне без разницы 20 или 19% - мне важно чтобы софт решал мои проблемы
Автор оригинала: Sad Spirit
...возможно, это черви копошатся? Релиз-то когда?
svn up не осилить? код покрыт тестами, то что их не проходит - не пользуй
Автор оригинала: Sad Spirit
...SimpleTest всюду использует одинарные кавычки вместо двойных, и поэтому быстрее на целых 0.005 секунд!1!1!одинодин!
да хоть тройные, но всеравно тесты выполняются быстрее
Автор оригинала: Sad Spirit
Не, серьёзно, неужели тесты настолько простые, что overhead на тестовый framework занимает существенное время по сравнению с собственно их выполнением?
да, тесты должны быть простыми и выполняться как можно быстрее
Автор оригинала: Sad Spirit
...то есть устанавливается при помощи стандартного менеджера пакетов, распространяемого вместе с похапэ. Ужас-ужас-ужас, так хотелось поразвлекаться, руками в SVN работающую ревизию поискать!1!!1!одинодин!
Pyrus возможно, pear - морально устарел
Автор оригинала: Sad Spirit
Dl вроде героически сумел найти.
сторониих много, был http://cool.sourceforge.net/ , была морда на gtk. работают только плагины под ide
ну и? в коробке то пусто... вышла новая версия и все, хотя есть круизконтроль, но простите зачем зависимость от явы и сложная конфигурация?
Автор оригинала: Sad Spirit
Не, я даже не хочу сказать, что PHPUnit Гораздо Лучше, возможно лучше SimpleTest (не приходилось использовать), но уровень "аргументации" просто потрясает.
ваш уровень аргументации и сдержанности тоже зашкаливает ;)
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Автор оригинала: DYPA
...80% пользователей любого софта нужно всего 20% его функциональности. поздравляю с попаданием.
мне без разницы 20 или 19% - мне важно чтобы софт решал мои проблемы
Я ещё раз донесу мысль: "проще" --- это не достоинство, софт не должен быть "проще", он должен помогать делать простые вещи простым образом, но и позволять при этом делать сложные вещи.

То есть надо бы показать, в чём простота в деле написания обычных тестов, и какая в SimpleTest'е есть продвинутая функциональность, которой нет в PHPUnit.

svn up не осилить? код покрыт тестами, то что их не проходит - не пользуй
Да почему ж --- осилить, не вопрос. Только вот не надо с умным видом доказывать, что svn up и проверка "не сломалось ли чё" удобнее, чем
Код:
pear upgrade phpunit/phpunit
при этом
Pyrus возможно, pear - морально устарел
--- ещё одно попадание пальцем в ж...: Pyrus умеет совершенно замечательно ставить PEAR'овские пакеты. Соответственно, никто не мешает его использовать для установки PHPUnit'а. Ну, кроме того факта, что Pyrus требует пока не очень стабильный PHP 5.3

да хоть тройные, но всеравно тесты выполняются быстрее
Кстати, для тех, у кого тормозит: PHPUnit сохраняет состояние (суперглобальные переменные, например) между запусками тестов. Если это не нужно, то можно отключить и он забегает быстрее...

да, тесты должны быть простыми и выполняться как можно быстрее
А когда они при этом лезут в БД или в веб-сервис?..

сторониих много... ну и? в коробке то пусто...
Вот желание получить всё в одной коробке --- это тоже вещь, которую я совершенно не понимаю.
 

whirlwind

TDD infected, paranoid
Самое видимое преимущество phpunit перед simpletest, это то, что phpunit прекращает тест после первого фейла, а simpletest шурует до конца, засирая аутпут фейлами, которые возникают как следствие первого провала. Никогда не мог понять - нахрена это делается?
 

Lightning

Трудоголик
Самое видимое преимущество phpunit перед simpletest, это то, что phpunit прекращает тест после первого фейла, а simpletest шурует до конца, засирая аутпут фейлами, которые возникают как следствие первого провала. Никогда не мог понять - нахрена это делается?
Не сказал бы, что это весомое преимущество. А если последующие фейлы возникают не из-за первого? А если я поменял что-нибудь и хочу посмотреть сколько тестов из-за этого сломалось?
Компиляторы и интерпретаторы тоже выдают несколько ошибок. Почему тесты должны работать по-другому?
 

whirlwind

TDD infected, paranoid
Если последующие фейлы возникают не из-за предыдущего, то это признак того, что каждый отдельный тест тестирует несвязанный код. Ты кейс с тестом не путаешь?
 

Lightning

Трудоголик
Если последующие фейлы возникают не из-за предыдущего, то это признак того, что каждый отдельный тест тестирует несвязанный код.
Почему несвязанный?
PHP:
//Вызвали какой-то метод какого-то объекта
$object->method1( /* parameters */ );
//Проверяем правильно ли изменились св-ва объекта
$this->assertIdentical( $object->getProperty1(), /* value1 */ );
$this->assertIdentical( $object->getProperty2(), /* value2 */ );
По какой-либо причине в предпоследней строке может быть фейл, а в последней при этом не обязательно.
 

whirlwind

TDD infected, paranoid
В phpunit-е на данный момент я вижу только два минуса, которые обещают поправить в 4: это ивалы и клонирование в моках. Обсуждать лучше/хуже я вижу смысл только с теми, кто знает фактическую разницу между этими фреймворками. Кроме пира и вебморды (которой лично я ни разу не пользовался), другие отличия в этом топе не светились. А личные, субъективные предпочтения, мне кажется, мало кого тут заинтересуют. Что касается написания тестов, то это тема отдельного топика.
 
Сверху