ccnet и модульное тестирование - PullRequest
1 голос
/ 09 июня 2010

Может ли ccnet сказать, что сборка завершилась неудачно в трее ccnet и на веб-сайте, если для проекта не пройден модульный тест?

Кто-нибудь знает руководство по этому вопросу?

Ответы [ 2 ]

4 голосов
/ 10 июня 2010

Это хороший урок, как настроить CCNET с NUnit: http://ilmatte.wordpress.com/2008/06/01/cruisecontrolnet-tutorial-part-1/

Непрерывная интеграция позволяет делать еще более интересные вещи.Например, проверьте стиль кода с помощью StyleCop, найдите очевидные ошибки с помощью FxCop, отследите зависимости с помощью NDepend, автоматически разверните приложение на промежуточном сервере для ручного тестирования, выполните приемочное тестирование через пользовательский интерфейс , выполните тестирование производительности и т. Д.

4 голосов
/ 10 июня 2010

Конечно! И это цель непрерывной интеграции!

Просто добавить задачу для запуска модульного теста после компиляции . Это сильно зависит от языка программирования, который вы используете, но вы можете рассмотреть запуск EXE для модульных тестов.

Итак, подведем итог, пример заказа задачи:

  • Получить исходный код из системы управления версиями
  • Исходный код компиляции
  • Тесты компиляции
  • Выполнить тесты
  • Доклад

Вы просите учебник, я могу привести пример:

  <!-- SVN implementation -->
  <sourcecontrol type="svn">
    <trunkUrl>http://dephicodetodoc.svn.sourceforge.net/svnroot/dephicodetodoc/trunk/DelphiCodeToDoc/</trunkUrl>
    <workingDirectory>$(WorkingBaseDir)\DelphiCodeToDoc</workingDirectory>
  </sourcecontrol>

  <!-- Build tasks to implement -->
  <tasks>
    <!-- Compile main application -->
    <msbuild>
      <executable>$(MSBuildPath)\MSBuild.exe</executable>
      <workingDirectory>$(WorkingBaseDir)\DelphiCodeToDoc\Source</workingDirectory>
      <projectFile>DelphiCodeToDoc.dproj</projectFile>
      <buildArgs>/target:Build /p:Config=Debug</buildArgs>
    </msbuild>

    <!-- Compile tests -->
    <msbuild>
      <executable>$(MSBuildPath)\MSBuild.exe</executable>
      <workingDirectory>$(WorkingBaseDir)\DelphiCodeToDoc\Test</workingDirectory>
      <projectFile>DelphiCodeToDoc_Tests.dproj</projectFile>
      <buildArgs>/target:Build /p:Config=XmlOutput</buildArgs>
    </msbuild>

    <!-- Execute unit tests -->
    <exec>
      <executable>$(WorkingBaseDir)\DelphiCodeToDoc\Exe\DelphiCodeToDoc_Tests.exe</executable>
      <baseDirectory>$(WorkingBaseDir)\DelphiCodeToDoc\Exe\</baseDirectory>
    </exec>
...