Pull to refresh
111
0
Davert @Davert

Пользователь

Send message

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


Но увы, я подозреваю, что у вас на это "стрелочка не поворачивается".

На самом деле за этот год у нас прибваилось много фич и в том числе для юнит тестов. Я бы советовал смотреть в нашу доку https://codeception.com/docs/05-UnitTests


А вот полная документация по Stub https://codeception.com/docs/05-UnitTests#Test-Doubles

Вы бы сэкономили гораздо больше времени если бы взяли Codeception :)


PHPUnit + WebDriver конечно надежная связка, но изначально было понятно, что без костылей там не обойдется.


Собственно почему Codeception смог бы быстрее решить задачу:


  • сохранение артефактов и отчеты по умолчанию
  • возможность запуска тестов с разной конфигурацией из коробки
  • из коробки почту не шлет, но есть екстеншн который это делает https://github.com/Codeception/Notifier (его скорее всего не хватит и потому достаточно просто можно всё расширить через екстеншны).

А чтобы это не казалось рекламой — закончу небольшой жизой. И Codeception и PHPUnit это сверхтяжелые фреймворки в которые порой бывает сложно куда-то впихнуться, в особенности когда нужно сделать что-то эдакое. И то и то надо изучать, а потом смотреть. Codeception в плане расширения предоставляет гораздо больше механизмов чтобы сделать всё что нужно и сделать это не костылями, а елегантно (элегантными костылями хе-хе). Да и API для PHPUnit по сути не обновлялся последние 10 лет...

вообще этот пост дико устарел, сейчас этого функционала просто нет.


"если вам нужны только юнит тесты" — это ключевая фраза. Соглаесн, для юнит-тестов ничего нового не придумаешь. Для небольших библиотек я тоже использую PHPUnit. А вот для всего остального скорее всего понадобятся ещё функциональные, интеграционные и другие тесты. И ковыряя всё это но PHPUnit'е быстро можно натворить херни.

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

Спасибо, действительно важный момент.


1) описание ошибок:


-- FAILURES:

  1) Testing Begins: ANI testing:

      expected web page to include "bogus text that is not there"
      + expected - actual

      -Home
      -About
      -Portfolio
      -Services
      -My Account
      -Contact
      -bring your site to life
      -content rich
      -graphically interesting
      -search engine optimized
      ---( 49 lines more )---
      +bogus text that is not there

  Scenario Steps:

  - I.see("bogus text that is not there") at Test.<anonymous> (examples/absolutenet_test.js:8:5)
  - I.grabTitle() at Test.<anonymous> (examples/absolutenet_test.js:6:23)
  - I.amOnPage("http://www.absolutenet.com/") at Test.<anonymous> (examples/absolutenet_test.js:5:5)

  Run with --verbose flag to see NodeJS stacktrace

  2) GitHub: register:
     Field q not found by name|text|CSS|XPath

  Scenario Steps:

  - Within .js-signup-form: I.click("button") at examples/github_test.js:31:7
  - Within .js-signup-form: I.fillField("q", "aaa") at examples/github_test.js:30:7
  - Within .js-signup-form: I.fillField("user[password]", "user@user.com") at examples/github_test.js:29:7
  - Within .js-signup-form: I.fillField("user[email]", "user@user.com") at examples/github_test.js:28:7
  - Within .js-signup-form: I.fillField("user[login]", "User") at examples/github_test.js:27:7
  - I.seeInCurrentUrl("/explore") at Test.<anonymous> (examples/github_test.js:35:5)
  - I.click("Explore") at Test.<anonymous> (examples/github_test.js:34:5)
  - I.see("There were problems creating your account.") at Test.<anonymous> (examples/github_test.js:33:5)

2) при запуске с флагом verbose покажет полный стектрейс + все состояния глобального промиса, чтобы можно было проследить какие события действительно выполнились, а какие — нет. Помогает разбирать кейсы, когда случайно забыл вернуть промис и он потерялся.


3) интерактивная консоль: возможность в любой момент остановить выполнение и попробовать запускать команды из консоли. Например, проверять доступность элемента по селектору.

Мне кажется спор о том что какой на кого ярлычок навесить совершенно неуместный. Реакт сам по себе библиотека, но вместе со всей своей экосистемой занимает ту же нишу, что и Ангуляр, Эмбер и Vue. Потому вполне логично разместить их в одном ряду.

Узнаю старый добрый хабр. Сразу скепсис и мокание в дерьмо. Как же я по этому соскучился :)
Согласен с претензией насчет абстракции. Есть такая проблема. Но как мне кажется проблема написания и поддержки тестов на "чистом" SeleniumWebDriverJS (или его аналогах) стоит гораздо острее. Опять таки, легко запутаться в промисах или слишком углубиться в техническую имплементацию потеряв суть.

Если бы я убрал из перечня React, незамедлительно появился бы комментарий: "а где в списке React."

Шутки-шутками, но фича с переводами появилась после пул реквеста одного разработчика из Сан Пауло, который разрабатывал правительственную систему и соответственно хотел писать тесты на португальском. Я в португальском ничего не понял, потому добавил перевод на русский. Кому надо — тот воспользуется, кому не надо — посмеется.

Таки да, просто Селениум, ничего нового. Только вместо самого selenium server, который бы запускал chromedriver, chromedriver запускается напрямую.

Да, Capybara мощнее и работа с несколькими сессиями там есть:


Capybara.using_session("Bob's session") do
  fill_in 'Email', with: 'user@example.com'
  fill_in 'Password', with: 'password'
end

Вот-вот, смысла в blade имхо нет никакого.

Не надо, у тебя тоже вполне годно получилось. Я впервые услышал реальную критику Laravel (в плане безопасности), вполне себе годный аргумент.

P.S. А вот логин / логаут с фонами смотрятся превосходно

Очень понимаю как это долго делать и без хорошей отдачи и без мотивации в виде денег. Вы молодцы, что довели дело до конца и главное — до опенсорса. Надеюсь, опыт, который заработаете вы и проект в опенсорсе помогут вам качественно повысить уровень новых продуктов, всё-таки сообщество очень важно в этом моменте.


Но хочу всё-таки отметить, что с цветами и фонами вы конечно чуть перемудрили. Это всё-таки админка, люди используют админку не потому что она красива, а потому что должна быть удобна. Например, если немного упростить и убрать оттуда фоны мы уже получим +50% к юзабилити, не придется читать белый текст на светлом несплошном фоне


http://prntscr.com/ba9qyt


То же с анимациями… Эффект "вау", конечно, есть, но для постоянной работы он не нужен, в постоянной работе он будет отвлекать и тормозить.
В моем понимании, лучше центральную часть сделать светлой, а меню оставить темными — это вполне будет в духе текущих трендов дизайна.


Ну и ещё раз спасибо вам за опенсорсинг!

На твиттере от меня никто не отписался, никто не зашел в чат и не сказал «все, завтра переписываю», даже звездочек на гитхабе на 2 больше стало.

И чо? Две звездочки — это в рамках статистической погрешности. Просто по сути ты очень хорошо умеешь себя пиарить, у тебя есть реальная возможность сделать действительно популярный проект. Но ты уперся рогом и двигаешь телегу, которая едет плохонько. Не знаю, может тебе и в кайф её толкать, но как по мне ты мог бы сделать гораздо больше.


Кроме того, что у тебя есть 5-20 человек которые активно юзают Пикси (надеюсь таки есть, но увы, мы их не видели в течении всей драмы), ты теряешь огормный потенциал всего сообщества. И вприцнипе проблема в том, что мы же не помидоры продаем — у Тейлора помидор хороший, у Фабьена хороший, у тебя тоже хороший. Но именно потому что фреймворк не помидор, у тебя его не купят даже если он хороший =) Будут брать те где есть сообщество, где есть поддержка, где есть реальные проекты.


Чтобы конкурировать тебе нужно как минимум предлагать что-то что не предлагают они. Selling points. И не только для разработчиков, а и для менеджеров

А завести акаунт на mail.ru, представиться чуваком из красноярска и написать душещипательное письмо о том как злостный менеджмент не позволяет юзать пикси? Тут мне кажется всё-таки явное палево.


Кроме того, если не ошибаюсь, на Хабре ты тоже не сразу признался, что ты и есть автор фреймворка.




Но вцелом всё это не важно. У тебя серьезные проблемы с репутацией фреймворка. Реддит-редитом, но когда это развалило FIG это уже стало серьезно ) А кроме того я пока не вижу чем он лучше других популярных фреймворков, учитывая, что там та же архитектура что в Yii и Laravel. Имхо, я бы рекомендовал на основе твоих компонтентов состряпать фреймворк другой архитектуры с более четкой специализацией. Ну и да… Никакой ентерпрайз не будет юзать пикси, хотя бы из-за названия. Иногда идти на поводу общественности и переименовывать фреймворк (я так уже делал).

Мне кажется, что эта история показала здравость РНР сообщества. Как вы знаете, сейчас на западе очень модно делать публичную травлю людей, через социальные сети за те или иные проступки. Не дай бог кому-то сморознуть шутку про расизм/гендерное неравенство, и чтобы рядом оказался человек без чувства юмора, но с популярным твиттер аккаутном… Всё, можешь попрощаться с работой, личной жизнью, привет угрозы и нервный срыв ) Подробнее здесь

Так вот к чему я. Когда начался тролинг на реддите — это было ок. Да, явно jigpuzzled там переусердствовал, но когда дело докатилось до PHP-FIG — там появился какой-то милый доброхот, который как раз действовал как типичный социальный троль. Ах, ты, сука, накручивал аккаунт, значит тебя надо исключить! На что члены PHP-FIG в большинстве своем отреагировали правильно — отказались участвовать в этой драме.

Массовая травля — это плохенько, понятненько?

Ну за скобками пока оставим дейтельность самого jigpuzzled но как бы в пиаре все средства хороши… Вопрос в эффективности этих средств, и как мне кажется, пока они работают против Пикси.
Ура! Буду буду буду.

Information

Rating
Does not participate
Location
Украина
Registered
Activity