powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как создать юнит-тест чтобы без его прохождения проект не собирался.
63 сообщений из 63, показаны все 3 страниц
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38818267
rigorMortis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
привет
В VS как-то можно сделать так чтобы прожект не компилился пока его юнит-тесты не пройдены. То есть при каждой компиляции проекта автоматически запускаются юнит-тесты. Кто знает как это сделать?
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38818272
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кэп подсказывает что никак.
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38818323
rigorMortis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну а просто чтобы юнит-тесты запускались при сборке?
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38818342
rigorMortis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С последним вопросом разобрался. Другой вопрос - можно ли таким образом вызывать веб-метод проекта? То есть при сборке веб-служба должна как-то захоститься и юнит-тест дёрнет её метод. Такое возможно?
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38818363
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rigorMortisС последним вопросом разобрался. Другой вопрос - можно ли таким образом вызывать веб-метод проекта? То есть при сборке веб-служба должна как-то захоститься и юнит-тест дёрнет её метод. Такое возможно?Да возможно.

Например локальный IIS настроен на те папки куда собираются проекты. Окружение для тестов смотрит туда же.
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38818565
rigorMortis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANA, это сначала надо приложение захостить что ли? У меня задача чтобы при сборке проекта (или запуске в студии) выполнялись юнит-тесты веб-методов. Такое как-то можно сделать?
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38818612
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rigorMortisskyANA, это сначала надо приложение захостить что ли? У меня задача чтобы при сборке проекта (или запуске в студии) выполнялись юнит-тесты веб-методов. Такое как-то можно сделать?А юнит-тесты веб-методов. Я подумал, что в тесте надо дёрнуть метод сторонней, по отношению к самому тесту службы.

Конечно можно писать юнит-тесты для веб-методов. В чём собственно проблема?
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38818721
rigorMortis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да вроде разобрались
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38819719
YK13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
может это подойдет?
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38819899
rigorMortis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вернусь всё же к первоначальному вопросу, но немного изменю. В общем, мне поставлена задача сделать так чтобы при публикации веб-проекта из студии, то есть нажатии на "publish" запускались модульные тесты которые дергают методы веб-сервиса этого же проекта, и если хотя бы один не пройден то публикация проекта отменялась бы. То есть если тесты не пройдены то проект не опубликуется. Я что-то затрудняюсь, как это сделать. Это надо чтобы при публикации проект пересобрался, службы где-то захостились, потом модульные тесты прогнались бы и в случае их неудачи публикация была бы отменена. Такое возможно ли?
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38819923
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rigorMortisВернусь всё же к первоначальному вопросу, но немного изменю. В общем, мне поставлена задача сделать так чтобы при публикации веб-проекта из студии, то есть нажатии на "publish" запускались модульные тесты которые дергают методы веб-сервиса этого же проекта, и если хотя бы один не пройден то публикация проекта отменялась бы. То есть если тесты не пройдены то проект не опубликуется. Я что-то затрудняюсь, как это сделать. Это надо чтобы при публикации проект пересобрался, службы где-то захостились, потом модульные тесты прогнались бы и в случае их неудачи публикация была бы отменена. Такое возможно ли?
У Вас руководство просто маразматики или маразматики-явашники? Это в яве любят проекты собирать через задний проход в шарпе такой фигней на занимаются. Если уже с ножом к горлу пристали, то смотри в эту сторону: http://habrahabr.ru/company/pvs-studio/blog/192486/
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38819949
petalvik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rigorMortis,

в свойства проекта в Build Events вставить запуск тестов, не?
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38819953
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rigorMortisВернусь всё же к первоначальному вопросу, но немного изменю. В общем, мне поставлена задача сделать так чтобы при публикации веб-проекта из студии, то есть нажатии на "publish" запускались модульные тесты которые дергают методы веб-сервиса этого же проекта, и если хотя бы один не пройден то публикация проекта отменялась бы. То есть если тесты не пройдены то проект не опубликуется. Я что-то затрудняюсь, как это сделать. Это надо чтобы при публикации проект пересобрался, службы где-то захостились, потом модульные тесты прогнались бы и в случае их неудачи публикация была бы отменена. Такое возможно ли?

А про "некуй так делать" уже было?
1. Запретить кому ни попадя публиковать в продакшен?
2. Все это настроить на билдсервере... например, используя это чудо ...
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38820064
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rigorMortisВернусь всё же к первоначальному вопросу, но немного изменю. В общем, мне поставлена задача сделать так чтобы при публикации веб-проекта из студии, то есть нажатии на "publish" запускались модульные тесты которые дергают методы веб-сервиса этого же проекта, и если хотя бы один не пройден то публикация проекта отменялась бы. То есть если тесты не пройдены то проект не опубликуется. Я что-то затрудняюсь, как это сделать. Это надо чтобы при публикации проект пересобрался, службы где-то захостились, потом модульные тесты прогнались бы и в случае их неудачи публикация была бы отменена. Такое возможно ли?Да. Это называется Continues Integration + Continues Delivery.

Инструментов предостаточно. У вас там помимо VS, что вообще есть?
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38820206
SerP1983
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для Tfs есть gated check-in, тынц
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38820566
rigorMortis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANAИнструментов предостаточно. У вас там помимо VS, что вообще есть?

Да ничего нет. А какие бывают инструменты? Кроме тфс.
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38820644
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rigorMortis, tfs и окружающие его сервисы мощное оружие и могут решить все ваши задачи, но, зачастую, удобнее (проще разобраться/развернуть) пользоваться такими штуками, как: Visual Build Pro и т.д т.п.

Как заметил skyANA, гуглить нужно по словам continuous integration and delivery

P.S.> к visual build'у я привязан уже давно... посему и пихаю ссылки на него... вот и на очередном месте работы обнаружил это чудо...
P.P.S.> для имитации рабочего окружения используйте продукты VMWare или SCVMM...
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38820657
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rigorMortisskyANAИнструментов предостаточно. У вас там помимо VS, что вообще есть?

Да ничего нет. А какие бывают инструменты? Кроме тфс.Инструментов великое множество :)

Но если у вас уже TFS, то: Управление жизненным циклом приложений с помощью Visual Studio Team Foundation Server .
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38820672
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANArigorMortisпропущено...


Да ничего нет. А какие бывают инструменты? Кроме тфс.Инструментов великое множество :)

Но если у вас уже TFS, то: Управление жизненным циклом приложений с помощью Visual Studio Team Foundation Server .
Код: c#
1.
2.
3.
4.
call svn export ...
call build.bat
call executeTests.bat
call publish.bat

Какие ещё нужны инструменты?
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38820683
cdtyjv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIУ Вас руководство просто маразматики или маразматики-явашники? Это в яве любят проекты собирать через задний проход в шарпе такой фигней на занимаются. Если уже с ножом к горлу пристали, то смотри в эту сторону: http://habrahabr.ru/company/pvs-studio/blog/192486/ Хахаха, ну да, в Шарпе качество действительно никого особо не волнует - факт.
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38820693
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КskyANAпропущено...
Инструментов великое множество :)

Но если у вас уже TFS, то: Управление жизненным циклом приложений с помощью Visual Studio Team Foundation Server .
Код: c#
1.
2.
3.
4.
call svn export ...
call build.bat
call executeTests.bat
call publish.bat

Какие ещё нужны инструменты?Вам? Никакие :)
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38820699
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей Кпропущено...
Код: c#
1.
2.
3.
4.
call svn export ...
call build.bat
call executeTests.bat
call publish.bat

Какие ещё нужны инструменты?Вам? Никакие :)Очень рад. :-)
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38820702
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КskyANAпропущено...
Вам? Никакие :)Очень рад. :-)Кто бы сомневался :)

Кстати как у вас "при каждой компиляции проекта автоматически запускаются" ваши батнички?
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38820708
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей Кпропущено...
Очень рад. :-)Кто бы сомневался :)

Кстати как у вас "при каждой компиляции проекта автоматически запускаются" ваши батнички?Зачем мне "при каждой компиляции проекта"? Я не Свеном, мне это не надо. :-)
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38820731
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КskyANAпропущено...
Кто бы сомневался :)

Кстати как у вас "при каждой компиляции проекта автоматически запускаются" ваши батнички?Зачем мне "при каждой компиляции проекта"? Я не Свеном, мне это не надо. :-)При чём тут Свеном? Это автору топика необходимо. :)
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38820732
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей Кпропущено...
Зачем мне "при каждой компиляции проекта"? Я не Свеном, мне это не надо. :-)При чём тут Свеном? Это автору топика необходимо. :) Свеном тоже не равнодушен. :-)
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38820735
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КskyANAпропущено...
При чём тут Свеном? Это автору топика необходимо. :) Свеном тоже не равнодушен. :-)На себя посмотри :)
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38820743
rigorMortis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANA
Код: c#
1.
2.
3.
4.
call svn export ...
call build.bat
call executeTests.bat
call publish.bat

Какие ещё нужны инструменты?

Это вы предлагаете в события сборки вставить в свойствах проекта? Тогда тесты будут прогоняться при каждом билде, такое мне не подойдёт.
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38820744
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rigorMortisskyANA
Код: c#
1.
2.
3.
4.
call svn export ...
call build.bat
call executeTests.bat
call publish.bat

Какие ещё нужны инструменты?

Это вы предлагаете в события сборки вставить в свойствах проекта? Тогда тесты будут прогоняться при каждом билде, такое мне не подойдёт.Однако в первом посте топика Вы написали: "То есть при каждой компиляции проекта автоматически запускаются юнит-тесты. Кто знает как это сделать?".
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38820745
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rigorMortis, может Вам достаточно просто обязать разработчиков выполнять тесты перед Check-In?
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38820747
rigorMortis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANA, меня обязывают, а не я. Да, мне было бы проще, но руководство требует. Видимо придётся предложить ему вариант с TeamCity или CruiseControl.
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38820751
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rigorMortisskyANA, меня обязывают, а не я. Да, мне было бы проще, но руководство требует. Видимо придётся предложить ему вариант с TeamCity или CruiseControl.Дак тоже самое можно сделать и в TFS: Непрерывная интеграция в TFS 11 .

P.S.: а какое решение Вы собираетесь предложить на базе CruiseControl? Скрипты писать, запускающие тесты?
P.P.S.: у меня на работе используется CruiseControl :)
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38820759
rigorMortis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANArigorMortisskyANA, меня обязывают, а не я. Да, мне было бы проще, но руководство требует. Видимо придётся предложить ему вариант с TeamCity или CruiseControl.Дак тоже самое можно сделать и в TFS: Непрерывная интеграция в TFS 11 .

P.S.: а какое решение Вы собираетесь предложить на базе CruiseControl? Скрипты писать, запускающие тесты?
P.P.S.: у меня на работе используется CruiseControl :)

Тфс у нас нет, исходники хрянятся в svn. Я с CruiseControl пока не разбирался. Почитал пока только про TeamCity, вроде он может при чекине в svn запускать автотесты. А что, CruiseControl не умеет так?
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38820762
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cdtyjvEDUARD SAPOTSKIУ Вас руководство просто маразматики или маразматики-явашники? Это в яве любят проекты собирать через задний проход в шарпе такой фигней на занимаются. Если уже с ножом к горлу пристали, то смотри в эту сторону: http://habrahabr.ru/company/pvs-studio/blog/192486/ Хахаха, ну да, в Шарпе качество действительно никого особо не волнует - факт.
Каким боком качество проектов на шарпе к сборке проектов через задний проход на яве?
Ява УГ, смирись с этим.
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38820763
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rigorMortisАлексей К
Код: c#
1.
2.
3.
4.
call svn export ...
call build.bat
call executeTests.bat
call publish.bat

Какие ещё нужны инструменты?

Это вы предлагаете в события сборки вставить в свойствах проекта? Тогда тесты будут прогоняться при каждом билде, такое мне не подойдёт.Это я предлагаю запускать при сборке проекта. Т. е. скрипт запускает msbuild, а не наоборот.
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38820780
rigorMortis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Алексей К, svn допустим не нужен, build можно сделать при помощи MSBuild. А publish каким образом?
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38820782
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rigorMortisАлексей К, svn допустим не нужен, build можно сделать при помощи MSBuild. А publish каким образом?
По-русски, время от времени делать:

1. Экспорт исходников из версионника.
2. Компиляция.
3. Запуск тестов.
4. Публикация: выкладывание результатов компиляци куда-нибудь, для ручного тестирования или в релиз.

зы: Запуск тестов после каждого билда проекта или перед каждым коммитом в версионник - маразм.
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38820783
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rigorMortisskyANAпропущено...
Дак тоже самое можно сделать и в TFS: Непрерывная интеграция в TFS 11 .

P.S.: а какое решение Вы собираетесь предложить на базе CruiseControl? Скрипты писать, запускающие тесты?
P.P.S.: у меня на работе используется CruiseControl :)

Тфс у нас нет, исходники хрянятся в svn. Я с CruiseControl пока не разбирался. Почитал пока только про TeamCity, вроде он может при чекине в svn запускать автотесты. А что, CruiseControl не умеет так?Чёрт, а я подумал, что у вас TFS. Простите.

TeamCity - хороший выбор.
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38820785
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КrigorMortisАлексей К, svn допустим не нужен, build можно сделать при помощи MSBuild. А publish каким образом?
По-русски, время от времени делать:

1. Экспорт исходников из версионника.
2. Компиляция.
3. Запуск тестов.
4. Публикация: выкладывание результатов компиляци куда-нибудь, для ручного тестирования или в релиз.

зы: Запуск тестов после каждого билда проекта или перед каждым коммитом в версионник - маразм.Что такое "коммит в версионник"? Я вот всю неделю могу коммитить в свой локальный репозиторий, а перед push-ем в центральный пройти тесты.

Где тут маразм? :)

P.S.: ну и "время от времени делать" - это далеко не всем подходит.
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38820787
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей Кпропущено...

По-русски, время от времени делать:

1. Экспорт исходников из версионника.
2. Компиляция.
3. Запуск тестов.
4. Публикация: выкладывание результатов компиляци куда-нибудь, для ручного тестирования или в релиз.

зы: Запуск тестов после каждого билда проекта или перед каждым коммитом в версионник - маразм.Что такое "коммит в версионник"? Я вот всю неделю могу коммитить в свой локальный репозиторий, а перед push-ем в центральный пройти тесты.Ну и запусти тесты кнопкой в "студии" перед пушем в центральный.

skyANAГде тут маразм? :)После каждого билда. У вас сколько времени выполняются все тесты?

skyANAP.S.: ну и "время от времени делать" - это далеко не всем подходит.Раз в сутки? В час? В минуту?
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38820789
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К, на вопрос-то ответишь?
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38820790
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей К, на вопрос-то ответишь?Что такое "коммит в версионник"? Ну давай назовём это слиянием бранча с транком. Что это меняет?
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38820792
rigorMortis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Алексей КrigorMortisАлексей К, svn допустим не нужен, build можно сделать при помощи MSBuild. А publish каким образом?
По-русски, время от времени делать:

3. Запуск тестов.


Тесты - специальный тип проекта в студии. Компилятся в длл и запустить их из скрипта непонятно как, может и никак.

Алексей КrigorMortisАлексей К, svn допустим не нужен, build можно сделать при помощи MSBuild. А publish каким образом?
4. Публикация: выкладывание результатов компиляци куда-нибудь, для ручного тестирования или в релиз.


Компиляция и публикация не одно и тоже, состав и структура файлов на выходе той и другой операции отличаются. Вот я и ищу как сделать publish из командной строки.
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38820797
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КskyANAАлексей К, на вопрос-то ответишь?Что такое "коммит в версионник"? Ну давай назовём это слиянием бранча с транком. Что это меняет?Ты написал, что "запуск тестов перед каждым коммитом в версионник - маразм".
Мне стало интересно, о чём ты. Потому как ты явно придумал себе то, о чём и речи не было.
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38820799
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rigorMortisАлексей Кпропущено...

По-русски, время от времени делать:

3. Запуск тестов.


Тесты - специальный тип проекта в студии. Компилятся в длл и запустить их из скрипта непонятно как, может и никак.Да наверняка как-то можно.
rigorMortisАлексей Кпропущено...

4. Публикация: выкладывание результатов компиляци куда-нибудь, для ручного тестирования или в релиз.


Компиляция и публикация не одно и тоже, состав и структура файлов на выходе той и другой операции отличаются. Вот я и ищу как сделать publish из командной строки.Какой тип проекта? Для Веб-проектов есть родная публикация, её так же можно запустить из командной строки, используя MSBuild. Для десктопного проекта публикацию можно сделать банальным "батником" , копирующим файлы из папки MyProject\Release\Bin в указанную папку. Вариантов много.
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38820812
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей Кпропущено...
Что такое "коммит в версионник"? Ну давай назовём это слиянием бранча с транком. Что это меняет?Ты написал, что "запуск тестов перед каждым коммитом в версионник - маразм".
Мне стало интересно, о чём ты. Потому как ты явно придумал себе то, о чём и речи не было.Как всегда придираешься к словам. Но я привык. :-)
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38822320
rigorMortis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В общем, силами SVN+TemaCity удалось кое-что сделать. Если модульные тесты падают то деплой отменяется. Есть ещё вопрос, возможен ли такой сценарий: при чекине прогонялись автотесты, и если они не пройдены то чекин не завершался (или откатывался)? Силами SVN+TeamCity или не обязательно TeamCity.
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38822384
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pre-Tested (Delayed) Commit
Для TFS - ищите по словам Check-In Policies
У вас богатая контора
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38823417
rigorMortis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в общем, удалось сделать чтобы через VS запускался проект с автотестами в TeamCity и если они не пройдены то коммит в svn не происходит. Но не тут то было успокаиваться. Руководство хочет чтобы автотесты запускало именно событие коммит в svn и если тесты не проходят то коммит отменяется. В принципе, такое можно реализовать создав в svn хук который перехватит событие коммита и запустит автотесты в TeamCity из коммандной строки. Только запустить то он запустит, но коммит после прогона автотестов при таком способе запуска TeamCity вроде не сделает? Кто что знает?
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38823423
rigorMortis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
buser Pre-Tested (Delayed) Commit
У вас богатая контора
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38823617
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rigorMortisв общем, удалось сделать чтобы через VS запускался проект с автотестами в TeamCity и если они не пройдены то коммит в svn не происходит. Но не тут то было успокаиваться. Руководство хочет чтобы автотесты запускало именно событие коммит в svn и если тесты не проходят то коммит отменяется. В принципе, такое можно реализовать создав в svn хук который перехватит событие коммита и запустит автотесты в TeamCity из коммандной строки. Только запустить то он запустит, но коммит после прогона автотестов при таком способе запуска TeamCity вроде не сделает? Кто что знает?Ну явно надо скрипт писать, что запустит тесты, посмотрит на результат их выполнения и если всё ок, то сделает коммит.
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38823654
rigorMortis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANA, не похоже что в svn hook можно отменить коммит.
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38823914
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rigorMortisskyANA, не похоже что в svn hook можно отменить коммит.Зачем отменять коммит?
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38823998
rigorMortis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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.
@echo off

set file=c:\Autotest.result

java -jar c:\tcc.jar //вызов TeamCity, параметры опущены

if not exist %file% (goto ROLLBACK)

for /f "eol=# delims== tokens=1,2" %%i in (%file%) do (

if %%j==0 (goto COMMIT) else (goto ROLLBACK)

)

:COMMIT
exit 0

:ROLLBACK
exit 1



Autotest.result содержит в себе пару result=значение. Проверяем, если не 0 то exit 1. Сделано в цикле так как предполагается в будущем наличие множества пар.
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38824314
rigorMortis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
YK13может это подойдет? А на вскидку, через командную строку запустить там проект с автотестами можно? Из bat-файла.
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38824472
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rigorMortisskyANA, хотим чтобы коммит отменялся если автотесты не прошли.

Помилуйте, бояре. Коммит- синхронная операция. Svn и так, прямо скажем, не самая быстрая штука (особенно если с https скрещена). А тут он будет ждать, пока тесты пойдут. А если их много и они 5 минут выполняются?

Проблема игнорирования тестов перед коммитом в trunk - административная. И решать её надо соответственно - каждому виновному штраф- от "угостить всех пивом после работы", до "минус 10% месячной премии за каждый случай". А для контроля- автосборка по коммиту и при падении тестов- письмо всей команде (чтобы знали героев).
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38824487
rigorMortis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexey TominrigorMortisskyANA, хотим чтобы коммит отменялся если автотесты не прошли.

Помилуйте, бояре. Коммит- синхронная операция. Svn и так, прямо скажем, не самая быстрая штука (особенно если с https скрещена). А тут он будет ждать, пока тесты пойдут. А если их много и они 5 минут выполняются?

Проблема игнорирования тестов перед коммитом в trunk - административная. И решать её надо соответственно - каждому виновному штраф- от "угостить всех пивом после работы", до "минус 10% месячной премии за каждый случай". А для контроля- автосборка по коммиту и при падении тестов- письмо всей команде (чтобы знали героев).
Ну вот за офтоп с вас "угостить всех пивом после работы".
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38824626
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rigorMortisНу вот за офтоп с вас "угостить всех пивом после работы".

Недавно мы потеряли недели 3 работы разработчика, кучу его нервов и время на выполнение задачи из-за того, что пытались решить программными средствами административную проблему.
Наконец убедили PM'а, что не надо так делать- и вот оно, всё хорошо. 3 недели- фиг с ними, ему списывать, а вот нервы...
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38824994
rigorMortis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexey Tomin, если убедишь моего руководителя, тогда с меня пиво. Я не сам себе мозги выкручиваю.
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38825079
rigorMortis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну, я сам справился.
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38825167
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rigorMortisНу, я сам справился.
Так это через что сделали? хук на коммит?
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38826732
rigorMortis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
buserrigorMortisНу, я сам справился.
Так это через что сделали? хук на коммит?

Справился в смысле убеждения начальства, оно согласилось на гибрид первого и второй варианов - коммитим, запускается проект с автотестами на TeamCity, если не проходят то релиз не собираем. Так же оставляем возможность вызывать проект TeamCity из VisualStudio - если автотесты не проходят то не коммитим и рассылаем уведомление о том что fail. Это легко сделать одними средствами TeamCity (TeamCity remote run плагин на VisualStudio).
Вариант с хуком который вызывал бы проект на TeamCity не прокатывает. Если хук вызвал бы TeamCity то последний должен был бы собрать билд с последними изменениями в проекте и прогнать на нём автотесты. Но проект с изменениями существует на машине разработчика который осуществляет коммит. Тогда TeamCity должен загрузить себе это проект, собрать его прогнать автотесты и принять решение о коммите, а это есть второй вариант описанный выше и при таком варианте хук смысла не имеет.
Если даже делать это через хук то скрипт должен содержать сопоставление пользователя-коммитера и его машины, запускать TeamCity remote run на машине этого пользователя-коммитера. Но мне что-то не нравится. Так в скрипте придётся всех разработчиков прописывать-выписывать и ещё при разных проектах как-то вычислять что для них запускать (это может быть не обязательно TeamCity и VisualStudion по условию задачи).
Тем не менее, спасибо всем за помощь. Опыт был получен.
...
Рейтинг: 0 / 0
Как создать юнит-тест чтобы без его прохождения проект не собирался.
    #38828008
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rigorMortisСправился в смысле убеждения начальства

Ну что ж, поздравляю!
Проблема решена с правильной стороны :)
...
Рейтинг: 0 / 0
63 сообщений из 63, показаны все 3 страниц
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как создать юнит-тест чтобы без его прохождения проект не собирался.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]