Pull to refresh
33
0
Александр Ильин @mecommayou

User

Send message
Выгрузка артефактов производится в фоновом режиме с агента?
Буквально на днях наткнуся на вот таке предложение в Лондоне:
image

Судя по тому что написанно на сайте нужно отправить резюме, пройти собеседование по Skype и, если вам сделают предложение, то так же вы получите £1,000 даже если в итоге откажетесь от предложения о работе. Единственное ограничение что это только на позиции iOS разработчиков.
Например клиент для работы с каким-либо API сервером из консоли. Очень удобно имея один псевдобинарник.
Что же произойдет с wikimart.ru?
Цитата верна, кроме тех случаев когда изменение истории является меньшим из зол. Например когда вы сливаете вместе несколько веток прежде чем влить их в master и в случае обнаружения проблем в одной из веток гораздо удобнее с помощью git rebase один раз убрать ее и отдать в доработку нежели использовать git revert несколько раз.
В PHPUnit из коробки есть 4 возможности выборочного запуска тестов, подробнее в другом комментарии.
Success Story

При помощи --group или --fiter разделите существующий набор на части. --group потребует измений в файлах с тестами, --filter — подобрать правильные маски чтобы ничего не потерялось. Когда разделив запуск на несколько потоков вы добьетесь его выполнения (при определенном объеме тестов вы столкнетесь с проблемами не изолированности тестов друг от друга, зависимости от внешних ресурсов и т. п.) вы сможете ускорить процесс в десятки раз, все в конечном итоге упрется в коль-во процессов на которые хватит ресурсов (в основном памяти и процессора, но так же могут быть проблемы со скоростью записи на диск, это зависит от характера тестов) при параллельном запуске. Дальше запускаем сколько нам нужно потоков с помощью простого bash скрипта:

#!/bin/bash -x

# Получаем данные покрытия для первой половины тестов выполняя в фоне
phpunit --group A --coverage-php coverage/data/group_A.cov &

# Получаем данные покрытия для второй половины тестов  выполняя в фоне
phpunit --group B --coverage-php coverage/data/group_B.cov & 

# Ждем пока завершатся оба потока выполняясь параллельно
wait                                                         

# Объединяем даныне покрытия из двух потоков и генерируем HTML
phpcov --merge --html coverage/html coverage/data            


P. S.

Разбить потоки на почти равные части чтобы все они выполнялись примерно одинаковое время можно при помощи Chapter 7. Organizing Tests — Composing a Test Suite Using XML Configuration или же можно не заморачиваться и просто раскидать все по директориям — Chapter 7. Organizing Tests — Composing a Test Suite Using the Filesystem.

P. P. S.

Есть идея расширить возможности PHPUnit и реализовать возможность запуска набора тестов на указанном кол-ве потоков с автоматическим распределением тестов по «свободным» потокам, но это уже совсем другая история.
Более интеллектуальное покрытие можно реализовать на основе стандартных возможностей PHPUnit — Appendix B. Annotations — @covers. Позволяет указать что именно стоит учитывать как вызванные строки для каждого конкретного теста, весь остальной код в рамках теста будет считаться не исполненным.
Добавляя дополнительные наборы данных можно увеличить покрытие кода без написания нового теста.
У меня вопрос не по теме.
Чем отличаются такие круглые штуки, от аналогичных, но квадратных штук?
Бывают ли у круглых варианты папа-папа?

image
У меня такой был, лет в 12. Чудом никто не пострадал. Мега эфектная экзотермическая реакция с бурлением пены получилась практически сразу. Другу брызнуло на руку — получил, пусть не большой по площади, но не слабый ожог, хорошо в глаза никому не попало.
Жаль в 5 раз не ускорили «Collecting Changes».
Лично не получится приехать на мастер-класс, по-этому хочется предложить сделать трансляцию через www.ustream.tv или аналогичный сервис чтобы была возможность участвовать удаленно и возможно задать некоторые вопросы.
«Дания страдает от нового вида эмбарго — ветрогенераторы на границе страны не дают морским судам и авиалайнерам приблизиться к стране. В стране заканчивается провизия. Миллионы голодают.»
Например… TeamCity пишет в JIRA о пройденных тестах.
В настоящий момент больше можно узнать из предыдущей статьи — AIDA. Автоматизация работы с Git, JIRA и TeamCity.
1. API
3. TeamCity
5. Участвуют

Возможно в ближайшее время кто-то раскроет некоторые из деталей непрерывной интеграции здесь или на одной из конференций.
Я просто оставлю это здесь:
Goutte
Zombie
Sahi
1
23 ...

Information

Rating
Does not participate
Location
Магаданская обл., Россия
Date of birth
Registered
Activity