2011-01-09 4 views
1

Im пытается интегрировать мои тесты PHPUnit в Хадсон, используя плагин xUnit. После успешной сборки с Ant в Гудзон, выход консоли показывает:Hudson CI и PHPUnit: ни один из отчетов об испытаниях не содержал никакого результата

Результаты теста Записи
Ни один из тестов не содержал никакого результата

Моего выхода теста junit.xml с использованием PHPUnit --log-JUnit выглядит, как следующим образом:

<testsuites> 
    <testsuite name="Unit Tests" tests="1" assertions="1" failures="0" errors="0" time="0.005112"> 
    <testsuite name="DbTest" file="src/tests/unit/DbTest.php" tests="1" assertions="1" failures="0" errors="0" time="0.005112"> 
    <testcase name="testConnection" class="DbTest" file="src/tests/unit/DbTest.php" line="4" assertions="1" time="0.005112"/> 
    </testsuite> 
    </testsuite> 
</testsuites> 

Любая помощь приветствуется

EDIT: Я только что создал тест junit.xml, содержащий:

<testsuites> 
    <testsuite name="DbTest" file="src/tests/unit/DbTest.php" tests="1" assertions="1" failures="0" errors="0" time="0.005112"> 
    <testcase name="testConnection" class="DbTest" file="src/tests/unit/DbTest.php" line="4" assertions="1" time="0.005112"/> 
    </testsuite> 
</testsuites> 

С этим на месте сборка была успешной. Кажется, проблема связана с вложенными тэгами. Любая идея, как предотвратить PHPUnit для создания этих вложенных тегов?

ответ

3

Наконец-то я нашел решение по адресу How might I integrate phpunit with Hudson CI? с использованием обходного пути xslt.

Если кто-то имеет такую ​​же проблему: Создать новый файл .xsl в любом месте ниже вашего корня проекта:

<?xml version="1.0" encoding="UTF-8"?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:template match="/"> 
    <xsl:element name="testsuites"> 
     <xsl:for-each select="//testsuite[@file]"> 
       <xsl:copy-of select="." /> 
     </xsl:for-each> 
    </xsl:element> 
</xsl:template> 
</xsl:stylesheet> 

Затем добавить в свой build.xml (не забудьте включить в цели сборки):

<target name="phpunit_to_xunit"> 
    <xslt in="build/logs/phpunit.xml" out="build/logs/junit.xml" style="phpunit_to_xunit.xsl"/> 
</target> 

В любом случае, это как-то громоздко. Поэтому я уже создал предложение по улучшению проекта xUnit.

+0

Спасибо, что поделились своим решением! +1 – edorian

Смежные вопросы