Отобразите отчеты Fitnesse XML в Hudson GUI

После выполнения fitnesse тест с помощью testrunner, я получаю XML-файл, содержащий все результаты. Теперь я не могу выяснить, как отобразить те результаты в hudson GUI для определенного задания.

Я бродил по сети, и что я нашел, пара людей, изменяющих xsd файл из CruiseControl.NET, но никто на самом деле не показывает ему работу!

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

Спасибо. Yohann

5
задан Yohann T. 8 February 2010 в 22:01
поделиться

2 ответа

Я преобразовываю вывод xml с помощью xslt из формата fitnesse в формат junit и публикую результаты тестов. К сожалению, мне не удалось получить результат html для сбой отображается внутри Hudson, однако это не проблема, поскольку все, что я хочу знать, это то, в порядке ли мои приемочные тесты.

Ниже представлена ​​копия xslt, которую я использую.

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
  <xsl:element name="testsuite">
    <xsl:attribute name="tests">
      <xsl:value-of select="sum(testResults/finalCounts/*)" />
    </xsl:attribute>
    <xsl:attribute name="failures">
      <xsl:value-of select="testResults/finalCounts/wrong" />
    </xsl:attribute>
    <xsl:attribute name="disabled">
      <xsl:value-of select="testResults/finalCounts/ignores" />
    </xsl:attribute>
    <xsl:attribute name="errors">
      <xsl:value-of select="testResults/finalCounts/exceptions" />
    </xsl:attribute>
    <xsl:attribute name="name">AcceptanceTests</xsl:attribute>
  <xsl:for-each select="testResults/result">
    <xsl:element name="testcase">
      <xsl:attribute name="classname">
        <xsl:value-of select="/testResults/rootPath" />
      </xsl:attribute>
      <xsl:attribute name="name">
        <xsl:value-of select="relativePageName" />
      </xsl:attribute>
      <xsl:choose>
        <xsl:when test="counts/exceptions > 0">
          <xsl:element name="error">
            <xsl:attribute name="message">
              <xsl:value-of select="counts/exceptions" />
              <xsl:text> exceptions thrown</xsl:text>
              <xsl:if test="counts/wrong > 0">
                <xsl:text> and </xsl:text>
                <xsl:value-of select="counts/wrong" />
                <xsl:text> assertions failed</xsl:text>
              </xsl:if>
            </xsl:attribute>
          </xsl:element>
        </xsl:when>
        <xsl:when test="counts/wrong > 0">
          <xsl:element name="failure">
            <xsl:attribute name="message">
              <xsl:value-of select="counts/wrong" />
              <xsl:text> assertions failed</xsl:text>
            </xsl:attribute>
          </xsl:element>
        </xsl:when>
      </xsl:choose>
    </xsl:element>
  </xsl:for-each>
  </xsl:element>
</xsl:template>
</xsl:stylesheet>
3
ответ дан 14 December 2019 в 08:49
поделиться

В FitNesse входят некоторые изменения, которые будут поддерживать возврат результатов в формате junit. Я не уверен в точной дате, но когда они это сделают, необходимость в отдельной деятельности по преобразованию должна исчезнуть.

Вскоре можно будет запустить тест в hudson с новым аргументом командной строки -c для запуска теста, а затем запустить его второй раз с аргументом -c, чтобы запросить последние результаты теста в формате junit. То же самое должно относиться и к люксам.

Я вернусь к обновлению, когда выйдет релиз, в который работает эта функциональность.

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

Чтобы получить его:

  1. Upate до 1.350 или выше Hudson
  2. Нажмите на Управление Hudson
  3. Выберите доступные плагины
  4. Выполните поиск FitNesse на странице
  5. Установите этот плагин
  6. Настройте его, чтобы он указывал на вашу пригодность.jar и FitNesseRoot.
2
ответ дан 14 December 2019 в 08:49
поделиться
Другие вопросы по тегам:

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