Объедините NUnit и вывод NAnt в отчете о сборке

Я только что начал использовать CruiseControl.NET, и я испытываю затруднения при понимании, почему слияние NAnt и выводов NUnit не работает. У меня есть установка мой ccnet.config с типичными значениями, как найдено на Google:

<merge>
  <files>
    <file>D:\ccnet\path1\nant-results.xml</file>
    <file>D:\ccnet\path2\TestResult.xml</file>
  </files>
</merge>
<xmllogger /> 

NAnt и ccnet являются наполовину работой: если я сознательно вставил ошибку в коде, то ccnet скажет, что сборка перестала работать. То же происходит, если я сознательно вставил провальный тест: ccnet скажет что отказавшая сборка.

Проблема состоит в том что ViewBuildReport.aspx страница не показывает ни одного вывода от NAnt или NUnit.

Очевидно, я должен пропускать что-то, но я не знаю что. Какие-либо идеи?

5
задан Jeroen 28 November 2012 в 13:06
поделиться

3 ответа

Этот блок находится в вашем издательском отделе?

Вот как выглядит один из моих издателей:

    <publishers>
        <merge>
            <files>
                <file>*-results.xml</file>
            </files>
        </merge>
        <xmllogger />
    </publishers>
1
ответ дан 14 December 2019 в 08:52
поделиться

Я пропустил метку издателя, но добавление ничего не исправило.

Какова лучшая практика звонить Нанту и монахине из ccnet? В настоящее время у меня есть такая настройка, которая мне не нравится:

ccnet с задачей nant, а файл сборки nant использует задачи msbuild и nunit2 для компиляции и тестирования.

Трудно найти достойный пример ccnet, nant и nunit, который бы действительно объяснил, как лучше использовать их все вместе. Я запускаю ccnet как сервис, это имеет значение? Я пытаюсь сделать все как можно проще, это примерно то, что я делаю:

ccnet.config:

<tasks>
<nant>
<baseDirectory>D:\ccnet\builds\checkout\path</baseDirectory>
<buildFile>go.build</buildFile>
<targetList>
<target>test</target>
</targetList>
</nant>
</tasks>

<publishers>
<merge>
<files>
<file>D:\ccnet\builds\artifacts\path1\nant-results.xml</file>
<file>D:\ccnet\builds\checkout\path\name.dll-results.xml</file>
</files>
</merge>
<xmllogger /> 
</publishers>

А в go.build:

<target name="build" depends="clean">
<msbuild project="name.sln">
</msbuild>
</target>

<target name="test" depends="build">
<nunit2>
<formatter type="Xml" usefile="false" />
<test assemblyname="Tests\path\name.dll" />
</nunit2>
</target>

Если я проверю журнал сборки с панели инструментов, то вижу, что в нем есть xml вывод и от nant, и от nunit. Но это не отображается на самой приборной панели, с чего бы это? Это становится очень разочаровывающим...

Я пробовал два разных подхода: Авто-магический подход к ccnet (просто установите usefile="false" и позвольте ccnet сделать свое дело). Это не сработало.

Я также попробовал ручной подход, установите usefile="true" и затем объедините файлы nant-results.xml и name.dll-results.xml (без подстановочных знаков, просто используя точный путь к файлу, который я трижды проверял)

Это просто не имеет никакого смысла

.
0
ответ дан 14 December 2019 в 08:52
поделиться

Альберт - Я случайно нашел ответ через некоторое время после того, как спросил. Похоже, что это поведение ccnet из коробки . Поэтому по умолчанию он не показывает результаты компиляции на веб-панели управления.

Вам нужно найти файл \ CruiseControl.NET \ webdashboard \ dashboard.config и в разделе buildReportBuildPlugin добавить compile.xsl. При добавлении это будет выглядеть так:

<buildPlugins>
  <buildReportBuildPlugin>
    <xslFileNames>
      <xslFile>xsl\header.xsl</xslFile>
      <xslFile>xsl\unittests.xsl</xslFile>
      <xslFile>xsl\modifications.xsl</xslFile>
      <xslFile>xsl\NCoverSummary.xsl</xslFile>

      <xslFile>xsl\compile.xsl</xslFile>

    </xslFileNames>
  </buildReportBuildPlugin>
  <buildLogBuildPlugin />
  <xslReportBuildPlugin description="NCover Report" actionName="NCoverBuildReport" xslFileName="xsl\NCover.xsl"></xslReportBuildPlugin>
</buildPlugins>

Документация была очень плохой, и я нашел ее случайно, когда искал что-то еще. Я не был счастлив, что потратил так много времени, когда небольшая документация или пример на сайте ccnet помогли бы решить эту проблему за считанные минуты.

6
ответ дан 14 December 2019 в 08:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: