|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
привет В VS как-то можно сделать так чтобы прожект не компилился пока его юнит-тесты не пройдены. То есть при каждой компиляции проекта автоматически запускаются юнит-тесты. Кто знает как это сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2014, 12:42 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
Кэп подсказывает что никак. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2014, 12:44 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
Ну а просто чтобы юнит-тесты запускались при сборке? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2014, 13:22 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
С последним вопросом разобрался. Другой вопрос - можно ли таким образом вызывать веб-метод проекта? То есть при сборке веб-служба должна как-то захоститься и юнит-тест дёрнет её метод. Такое возможно? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2014, 13:39 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
rigorMortisС последним вопросом разобрался. Другой вопрос - можно ли таким образом вызывать веб-метод проекта? То есть при сборке веб-служба должна как-то захоститься и юнит-тест дёрнет её метод. Такое возможно?Да возможно. Например локальный IIS настроен на те папки куда собираются проекты. Окружение для тестов смотрит туда же. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2014, 13:52 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
skyANA, это сначала надо приложение захостить что ли? У меня задача чтобы при сборке проекта (или запуске в студии) выполнялись юнит-тесты веб-методов. Такое как-то можно сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2014, 16:43 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
rigorMortisskyANA, это сначала надо приложение захостить что ли? У меня задача чтобы при сборке проекта (или запуске в студии) выполнялись юнит-тесты веб-методов. Такое как-то можно сделать?А юнит-тесты веб-методов. Я подумал, что в тесте надо дёрнуть метод сторонней, по отношению к самому тесту службы. Конечно можно писать юнит-тесты для веб-методов. В чём собственно проблема? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2014, 17:17 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
да вроде разобрались ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2014, 18:34 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
может это подойдет? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2014, 15:36 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
Вернусь всё же к первоначальному вопросу, но немного изменю. В общем, мне поставлена задача сделать так чтобы при публикации веб-проекта из студии, то есть нажатии на "publish" запускались модульные тесты которые дергают методы веб-сервиса этого же проекта, и если хотя бы один не пройден то публикация проекта отменялась бы. То есть если тесты не пройдены то проект не опубликуется. Я что-то затрудняюсь, как это сделать. Это надо чтобы при публикации проект пересобрался, службы где-то захостились, потом модульные тесты прогнались бы и в случае их неудачи публикация была бы отменена. Такое возможно ли? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2014, 18:05 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
rigorMortisВернусь всё же к первоначальному вопросу, но немного изменю. В общем, мне поставлена задача сделать так чтобы при публикации веб-проекта из студии, то есть нажатии на "publish" запускались модульные тесты которые дергают методы веб-сервиса этого же проекта, и если хотя бы один не пройден то публикация проекта отменялась бы. То есть если тесты не пройдены то проект не опубликуется. Я что-то затрудняюсь, как это сделать. Это надо чтобы при публикации проект пересобрался, службы где-то захостились, потом модульные тесты прогнались бы и в случае их неудачи публикация была бы отменена. Такое возможно ли? У Вас руководство просто маразматики или маразматики-явашники? Это в яве любят проекты собирать через задний проход в шарпе такой фигней на занимаются. Если уже с ножом к горлу пристали, то смотри в эту сторону: http://habrahabr.ru/company/pvs-studio/blog/192486/ ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2014, 18:41 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
rigorMortis, в свойства проекта в Build Events вставить запуск тестов, не? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2014, 19:07 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
rigorMortisВернусь всё же к первоначальному вопросу, но немного изменю. В общем, мне поставлена задача сделать так чтобы при публикации веб-проекта из студии, то есть нажатии на "publish" запускались модульные тесты которые дергают методы веб-сервиса этого же проекта, и если хотя бы один не пройден то публикация проекта отменялась бы. То есть если тесты не пройдены то проект не опубликуется. Я что-то затрудняюсь, как это сделать. Это надо чтобы при публикации проект пересобрался, службы где-то захостились, потом модульные тесты прогнались бы и в случае их неудачи публикация была бы отменена. Такое возможно ли? А про "некуй так делать" уже было? 1. Запретить кому ни попадя публиковать в продакшен? 2. Все это настроить на билдсервере... например, используя это чудо ... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2014, 19:10 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
rigorMortisВернусь всё же к первоначальному вопросу, но немного изменю. В общем, мне поставлена задача сделать так чтобы при публикации веб-проекта из студии, то есть нажатии на "publish" запускались модульные тесты которые дергают методы веб-сервиса этого же проекта, и если хотя бы один не пройден то публикация проекта отменялась бы. То есть если тесты не пройдены то проект не опубликуется. Я что-то затрудняюсь, как это сделать. Это надо чтобы при публикации проект пересобрался, службы где-то захостились, потом модульные тесты прогнались бы и в случае их неудачи публикация была бы отменена. Такое возможно ли?Да. Это называется Continues Integration + Continues Delivery. Инструментов предостаточно. У вас там помимо VS, что вообще есть? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2014, 22:25 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
Для Tfs есть gated check-in, тынц ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2014, 11:56 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
skyANAИнструментов предостаточно. У вас там помимо VS, что вообще есть? Да ничего нет. А какие бывают инструменты? Кроме тфс. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2014, 10:50 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
rigorMortis, tfs и окружающие его сервисы мощное оружие и могут решить все ваши задачи, но, зачастую, удобнее (проще разобраться/развернуть) пользоваться такими штуками, как: Visual Build Pro и т.д т.п. Как заметил skyANA, гуглить нужно по словам continuous integration and delivery P.S.> к visual build'у я привязан уже давно... посему и пихаю ссылки на него... вот и на очередном месте работы обнаружил это чудо... P.P.S.> для имитации рабочего окружения используйте продукты VMWare или SCVMM... ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2014, 13:23 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
rigorMortisskyANAИнструментов предостаточно. У вас там помимо VS, что вообще есть? Да ничего нет. А какие бывают инструменты? Кроме тфс.Инструментов великое множество :) Но если у вас уже TFS, то: Управление жизненным циклом приложений с помощью Visual Studio Team Foundation Server . ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2014, 13:44 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
skyANArigorMortisпропущено... Да ничего нет. А какие бывают инструменты? Кроме тфс.Инструментов великое множество :) Но если у вас уже TFS, то: Управление жизненным циклом приложений с помощью Visual Studio Team Foundation Server . Код: c# 1. 2. 3. 4.
Какие ещё нужны инструменты? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2014, 14:16 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
EDUARD SAPOTSKIУ Вас руководство просто маразматики или маразматики-явашники? Это в яве любят проекты собирать через задний проход в шарпе такой фигней на занимаются. Если уже с ножом к горлу пристали, то смотри в эту сторону: http://habrahabr.ru/company/pvs-studio/blog/192486/ Хахаха, ну да, в Шарпе качество действительно никого особо не волнует - факт. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2014, 14:58 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
Алексей КskyANAпропущено... Инструментов великое множество :) Но если у вас уже TFS, то: Управление жизненным циклом приложений с помощью Visual Studio Team Foundation Server . Код: c# 1. 2. 3. 4.
Какие ещё нужны инструменты?Вам? Никакие :) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2014, 15:16 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
skyANAАлексей Кпропущено... Код: c# 1. 2. 3. 4.
Какие ещё нужны инструменты?Вам? Никакие :)Очень рад. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2014, 15:23 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
Алексей КskyANAпропущено... Вам? Никакие :)Очень рад. :-)Кто бы сомневался :) Кстати как у вас "при каждой компиляции проекта автоматически запускаются" ваши батнички? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2014, 15:26 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
skyANAАлексей Кпропущено... Очень рад. :-)Кто бы сомневался :) Кстати как у вас "при каждой компиляции проекта автоматически запускаются" ваши батнички?Зачем мне "при каждой компиляции проекта"? Я не Свеном, мне это не надо. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2014, 15:43 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
Алексей КskyANAпропущено... Кто бы сомневался :) Кстати как у вас "при каждой компиляции проекта автоматически запускаются" ваши батнички?Зачем мне "при каждой компиляции проекта"? Я не Свеном, мне это не надо. :-)При чём тут Свеном? Это автору топика необходимо. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2014, 16:24 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
skyANAАлексей Кпропущено... Зачем мне "при каждой компиляции проекта"? Я не Свеном, мне это не надо. :-)При чём тут Свеном? Это автору топика необходимо. :) Свеном тоже не равнодушен. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2014, 16:29 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
Алексей КskyANAпропущено... При чём тут Свеном? Это автору топика необходимо. :) Свеном тоже не равнодушен. :-)На себя посмотри :) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2014, 16:34 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
skyANA Код: c# 1. 2. 3. 4.
Какие ещё нужны инструменты? Это вы предлагаете в события сборки вставить в свойствах проекта? Тогда тесты будут прогоняться при каждом билде, такое мне не подойдёт. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2014, 16:47 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
rigorMortisskyANA Код: c# 1. 2. 3. 4.
Какие ещё нужны инструменты? Это вы предлагаете в события сборки вставить в свойствах проекта? Тогда тесты будут прогоняться при каждом билде, такое мне не подойдёт.Однако в первом посте топика Вы написали: "То есть при каждой компиляции проекта автоматически запускаются юнит-тесты. Кто знает как это сделать?". ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2014, 16:55 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
rigorMortis, может Вам достаточно просто обязать разработчиков выполнять тесты перед Check-In? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2014, 16:57 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
skyANA, меня обязывают, а не я. Да, мне было бы проще, но руководство требует. Видимо придётся предложить ему вариант с TeamCity или CruiseControl. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2014, 17:00 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
rigorMortisskyANA, меня обязывают, а не я. Да, мне было бы проще, но руководство требует. Видимо придётся предложить ему вариант с TeamCity или CruiseControl.Дак тоже самое можно сделать и в TFS: Непрерывная интеграция в TFS 11 . P.S.: а какое решение Вы собираетесь предложить на базе CruiseControl? Скрипты писать, запускающие тесты? P.P.S.: у меня на работе используется CruiseControl :) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2014, 17:08 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
skyANArigorMortisskyANA, меня обязывают, а не я. Да, мне было бы проще, но руководство требует. Видимо придётся предложить ему вариант с TeamCity или CruiseControl.Дак тоже самое можно сделать и в TFS: Непрерывная интеграция в TFS 11 . P.S.: а какое решение Вы собираетесь предложить на базе CruiseControl? Скрипты писать, запускающие тесты? P.P.S.: у меня на работе используется CruiseControl :) Тфс у нас нет, исходники хрянятся в svn. Я с CruiseControl пока не разбирался. Почитал пока только про TeamCity, вроде он может при чекине в svn запускать автотесты. А что, CruiseControl не умеет так? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2014, 17:27 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
cdtyjvEDUARD SAPOTSKIУ Вас руководство просто маразматики или маразматики-явашники? Это в яве любят проекты собирать через задний проход в шарпе такой фигней на занимаются. Если уже с ножом к горлу пристали, то смотри в эту сторону: http://habrahabr.ru/company/pvs-studio/blog/192486/ Хахаха, ну да, в Шарпе качество действительно никого особо не волнует - факт. Каким боком качество проектов на шарпе к сборке проектов через задний проход на яве? Ява УГ, смирись с этим. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2014, 17:31 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
rigorMortisАлексей К Код: c# 1. 2. 3. 4.
Какие ещё нужны инструменты? Это вы предлагаете в события сборки вставить в свойствах проекта? Тогда тесты будут прогоняться при каждом билде, такое мне не подойдёт.Это я предлагаю запускать при сборке проекта. Т. е. скрипт запускает msbuild, а не наоборот. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2014, 17:32 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
Алексей К, svn допустим не нужен, build можно сделать при помощи MSBuild. А publish каким образом? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2014, 18:25 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
rigorMortisАлексей К, svn допустим не нужен, build можно сделать при помощи MSBuild. А publish каким образом? По-русски, время от времени делать: 1. Экспорт исходников из версионника. 2. Компиляция. 3. Запуск тестов. 4. Публикация: выкладывание результатов компиляци куда-нибудь, для ручного тестирования или в релиз. зы: Запуск тестов после каждого билда проекта или перед каждым коммитом в версионник - маразм. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2014, 18:29 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
rigorMortisskyANAпропущено... Дак тоже самое можно сделать и в TFS: Непрерывная интеграция в TFS 11 . P.S.: а какое решение Вы собираетесь предложить на базе CruiseControl? Скрипты писать, запускающие тесты? P.P.S.: у меня на работе используется CruiseControl :) Тфс у нас нет, исходники хрянятся в svn. Я с CruiseControl пока не разбирался. Почитал пока только про TeamCity, вроде он может при чекине в svn запускать автотесты. А что, CruiseControl не умеет так?Чёрт, а я подумал, что у вас TFS. Простите. TeamCity - хороший выбор. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2014, 18:32 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
Алексей КrigorMortisАлексей К, svn допустим не нужен, build можно сделать при помощи MSBuild. А publish каким образом? По-русски, время от времени делать: 1. Экспорт исходников из версионника. 2. Компиляция. 3. Запуск тестов. 4. Публикация: выкладывание результатов компиляци куда-нибудь, для ручного тестирования или в релиз. зы: Запуск тестов после каждого билда проекта или перед каждым коммитом в версионник - маразм.Что такое "коммит в версионник"? Я вот всю неделю могу коммитить в свой локальный репозиторий, а перед push-ем в центральный пройти тесты. Где тут маразм? :) P.S.: ну и "время от времени делать" - это далеко не всем подходит. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2014, 18:37 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
skyANAАлексей Кпропущено... По-русски, время от времени делать: 1. Экспорт исходников из версионника. 2. Компиляция. 3. Запуск тестов. 4. Публикация: выкладывание результатов компиляци куда-нибудь, для ручного тестирования или в релиз. зы: Запуск тестов после каждого билда проекта или перед каждым коммитом в версионник - маразм.Что такое "коммит в версионник"? Я вот всю неделю могу коммитить в свой локальный репозиторий, а перед push-ем в центральный пройти тесты.Ну и запусти тесты кнопкой в "студии" перед пушем в центральный. skyANAГде тут маразм? :)После каждого билда. У вас сколько времени выполняются все тесты? skyANAP.S.: ну и "время от времени делать" - это далеко не всем подходит.Раз в сутки? В час? В минуту? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2014, 18:46 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
Алексей К, на вопрос-то ответишь? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2014, 18:49 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
skyANAАлексей К, на вопрос-то ответишь?Что такое "коммит в версионник"? Ну давай назовём это слиянием бранча с транком. Что это меняет? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2014, 18:53 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
Алексей КrigorMortisАлексей К, svn допустим не нужен, build можно сделать при помощи MSBuild. А publish каким образом? По-русски, время от времени делать: 3. Запуск тестов. Тесты - специальный тип проекта в студии. Компилятся в длл и запустить их из скрипта непонятно как, может и никак. Алексей КrigorMortisАлексей К, svn допустим не нужен, build можно сделать при помощи MSBuild. А publish каким образом? 4. Публикация: выкладывание результатов компиляци куда-нибудь, для ручного тестирования или в релиз. Компиляция и публикация не одно и тоже, состав и структура файлов на выходе той и другой операции отличаются. Вот я и ищу как сделать publish из командной строки. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2014, 18:58 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
Алексей КskyANAАлексей К, на вопрос-то ответишь?Что такое "коммит в версионник"? Ну давай назовём это слиянием бранча с транком. Что это меняет?Ты написал, что "запуск тестов перед каждым коммитом в версионник - маразм". Мне стало интересно, о чём ты. Потому как ты явно придумал себе то, о чём и речи не было. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2014, 19:02 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
rigorMortisАлексей Кпропущено... По-русски, время от времени делать: 3. Запуск тестов. Тесты - специальный тип проекта в студии. Компилятся в длл и запустить их из скрипта непонятно как, может и никак.Да наверняка как-то можно. rigorMortisАлексей Кпропущено... 4. Публикация: выкладывание результатов компиляци куда-нибудь, для ручного тестирования или в релиз. Компиляция и публикация не одно и тоже, состав и структура файлов на выходе той и другой операции отличаются. Вот я и ищу как сделать publish из командной строки.Какой тип проекта? Для Веб-проектов есть родная публикация, её так же можно запустить из командной строки, используя MSBuild. Для десктопного проекта публикацию можно сделать банальным "батником" , копирующим файлы из папки MyProject\Release\Bin в указанную папку. Вариантов много. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2014, 19:08 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
skyANAАлексей Кпропущено... Что такое "коммит в версионник"? Ну давай назовём это слиянием бранча с транком. Что это меняет?Ты написал, что "запуск тестов перед каждым коммитом в версионник - маразм". Мне стало интересно, о чём ты. Потому как ты явно придумал себе то, о чём и речи не было.Как всегда придираешься к словам. Но я привык. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2014, 19:20 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
В общем, силами SVN+TemaCity удалось кое-что сделать. Если модульные тесты падают то деплой отменяется. Есть ещё вопрос, возможен ли такой сценарий: при чекине прогонялись автотесты, и если они не пройдены то чекин не завершался (или откатывался)? Силами SVN+TeamCity или не обязательно TeamCity. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2014, 11:29 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2014, 12:10 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
в общем, удалось сделать чтобы через VS запускался проект с автотестами в TeamCity и если они не пройдены то коммит в svn не происходит. Но не тут то было успокаиваться. Руководство хочет чтобы автотесты запускало именно событие коммит в svn и если тесты не проходят то коммит отменяется. В принципе, такое можно реализовать создав в svn хук который перехватит событие коммита и запустит автотесты в TeamCity из коммандной строки. Только запустить то он запустит, но коммит после прогона автотестов при таком способе запуска TeamCity вроде не сделает? Кто что знает? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2014, 11:39 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
buser Pre-Tested (Delayed) Commit У вас богатая контора ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2014, 11:41 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
rigorMortisв общем, удалось сделать чтобы через VS запускался проект с автотестами в TeamCity и если они не пройдены то коммит в svn не происходит. Но не тут то было успокаиваться. Руководство хочет чтобы автотесты запускало именно событие коммит в svn и если тесты не проходят то коммит отменяется. В принципе, такое можно реализовать создав в svn хук который перехватит событие коммита и запустит автотесты в TeamCity из коммандной строки. Только запустить то он запустит, но коммит после прогона автотестов при таком способе запуска TeamCity вроде не сделает? Кто что знает?Ну явно надо скрипт писать, что запустит тесты, посмотрит на результат их выполнения и если всё ок, то сделает коммит. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2014, 13:32 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
skyANA, не похоже что в svn hook можно отменить коммит. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2014, 14:01 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
rigorMortisskyANA, не похоже что в svn hook можно отменить коммит.Зачем отменять коммит? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2014, 16:52 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
skyANA, хотим чтобы коммит отменялся если автотесты не прошли. В общем, сделать можно. Надо в svn в каком-нибудь hook, например Start commit hook написать скрипт, который проверит результаты тестов и при отрицательном результате сделать exit 1. Тогда коммит не будет зафиксирован. Соответственно, если автотесты ок то возвращаем exit 0, тогда коммит завершается успешно. Таким образом, можно засатвить любой автотест писать результат в какой-нибудь файл, из которого скритп hook'а будет считывать его. У меня так: Код: powershell 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
Autotest.result содержит в себе пару result=значение. Проверяем, если не 0 то exit 1. Сделано в цикле так как предполагается в будущем наличие множества пар. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2014, 17:58 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
YK13может это подойдет? А на вскидку, через командную строку запустить там проект с автотестами можно? Из bat-файла. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2014, 00:23 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
rigorMortisskyANA, хотим чтобы коммит отменялся если автотесты не прошли. Помилуйте, бояре. Коммит- синхронная операция. Svn и так, прямо скажем, не самая быстрая штука (особенно если с https скрещена). А тут он будет ждать, пока тесты пойдут. А если их много и они 5 минут выполняются? Проблема игнорирования тестов перед коммитом в trunk - административная. И решать её надо соответственно - каждому виновному штраф- от "угостить всех пивом после работы", до "минус 10% месячной премии за каждый случай". А для контроля- автосборка по коммиту и при падении тестов- письмо всей команде (чтобы знали героев). ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2014, 09:12 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
Alexey TominrigorMortisskyANA, хотим чтобы коммит отменялся если автотесты не прошли. Помилуйте, бояре. Коммит- синхронная операция. Svn и так, прямо скажем, не самая быстрая штука (особенно если с https скрещена). А тут он будет ждать, пока тесты пойдут. А если их много и они 5 минут выполняются? Проблема игнорирования тестов перед коммитом в trunk - административная. И решать её надо соответственно - каждому виновному штраф- от "угостить всех пивом после работы", до "минус 10% месячной премии за каждый случай". А для контроля- автосборка по коммиту и при падении тестов- письмо всей команде (чтобы знали героев). Ну вот за офтоп с вас "угостить всех пивом после работы". ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2014, 09:34 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
rigorMortisНу вот за офтоп с вас "угостить всех пивом после работы". Недавно мы потеряли недели 3 работы разработчика, кучу его нервов и время на выполнение задачи из-за того, что пытались решить программными средствами административную проблему. Наконец убедили PM'а, что не надо так делать- и вот оно, всё хорошо. 3 недели- фиг с ними, ему списывать, а вот нервы... ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2014, 11:24 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
Alexey Tomin, если убедишь моего руководителя, тогда с меня пиво. Я не сам себе мозги выкручиваю. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2014, 15:12 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
Ну, я сам справился. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2014, 16:00 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
rigorMortisНу, я сам справился. Так это через что сделали? хук на коммит? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2014, 16:49 |
|
Как создать юнит-тест чтобы без его прохождения проект не собирался.
|
|||
---|---|---|---|
#18+
buserrigorMortisНу, я сам справился. Так это через что сделали? хук на коммит? Справился в смысле убеждения начальства, оно согласилось на гибрид первого и второй варианов - коммитим, запускается проект с автотестами на TeamCity, если не проходят то релиз не собираем. Так же оставляем возможность вызывать проект TeamCity из VisualStudio - если автотесты не проходят то не коммитим и рассылаем уведомление о том что fail. Это легко сделать одними средствами TeamCity (TeamCity remote run плагин на VisualStudio). Вариант с хуком который вызывал бы проект на TeamCity не прокатывает. Если хук вызвал бы TeamCity то последний должен был бы собрать билд с последними изменениями в проекте и прогнать на нём автотесты. Но проект с изменениями существует на машине разработчика который осуществляет коммит. Тогда TeamCity должен загрузить себе это проект, собрать его прогнать автотесты и принять решение о коммите, а это есть второй вариант описанный выше и при таком варианте хук смысла не имеет. Если даже делать это через хук то скрипт должен содержать сопоставление пользователя-коммитера и его машины, запускать TeamCity remote run на машине этого пользователя-коммитера. Но мне что-то не нравится. Так в скрипте придётся всех разработчиков прописывать-выписывать и ещё при разных проектах как-то вычислять что для них запускать (это может быть не обязательно TeamCity и VisualStudion по условию задачи). Тем не менее, спасибо всем за помощь. Опыт был получен. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2014, 22:55 |
|
|
start [/forum/topic.php?all=1&fid=20&tid=1402164]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
36ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
96ms |
get tp. blocked users: |
1ms |
others: | 323ms |
total: | 503ms |
0 / 0 |