Пусть автоматически сгенерированный Первичный ключ будет: 45454545.Теперь все, что вам нужно сделать, это отформатировать его в Java.
Для форматирования вы можете использовать .format()
или .substring()
или StringBuilder()
.
String PK = "45454545";
String output = String.format("%1$s-%2$s", PK.substring(0,4),
PK.substring(4));
Или
String output =PK.substring(0,4) + "-" + PK.substring(4);
Или
String output = new StringBuilder(PK).insert(4, '-').toString();
Я установил плагин xUnit, указал его на свой файл журнала (из конфигурации задания), и он работает как шарм. Похоже, что больше нет необходимости в каких-либо специальных хаках.
Я обычно работаю с CruiseControl для PHP, тестирующего (использование поддержки Phing CC, не phpundercontrol). Я только работал с Гудзоном немного, но заставил Гудзон успешно записывать тесты phpunit с помощью поддержки phpunit phing.
Следующие инструкции предполагают использование Phing (не Муравей) для управления сборками проекта PHP и что Вам установили необходимый prereqs. Это также предполагает, что у Вас есть установленный PHPUnit 3 (хотя PHPUnit 2.x должен работать также).
Шаг 1: проект установки для Phing/PHPUnit
Сначала необходимо удостовериться, что проект является тестируемым использованием Phing. Вот является демонстрационный Phing build.xml, который выполняет модульные тесты и создает JUnit-совместимый вывод XML.
<?xml version="1.0" ?>
<project name="Test Project" default="test">
<property name="tests.dir" value="." />
<property name="reports.dir" value="${tests.dir}/reports" />
<target name="test" description="Run PHPUnit tests">
<phpunit haltonerror="true" haltonfailure="true" printsummary="true">
<batchtest>
<fileset dir="${tests.dir}">
<include name="**/*Test.php" />
</fileset>
</batchtest>
<formatter type="plain" usefile="false" />
<formatter type="xml" usefile="true" todir="${reports.dir}" outfile="test-results.xml" />
</phpunit>
</target>
</project>
Шаг 2: установка Гудзон
Шаг 3: сборка!
Это должно сделать это. Попытайтесь разработать свой проект теперь. Надо надеяться, это соберет результаты.
Также посмотрите эту презентацию Phing или эту презентацию Phing для больше на Phing и (до меньшей степени) интеграция PHPUnit.
Удачи!
Формат XML, испускаемого PHPUnit, не (в настоящее время) совместим с Гудзоном, потому что это - не совсем то же как XML, сгенерированный другими подобными инструментами. Вот почему Вы добираетесь, "Ни один из отчетов о тестировании не содержал результата" сообщение.
За исключением фиксации PHPUnit для генерации "лучше" XML или улучшения Гудзона, чтобы быть более гибким в том, что это принимает единственное решение состоит в том, чтобы зафиксировать XML путем устранения вложения <testuite> элементов. Я использовал sed для изменения PHPUnit XML так, чтобы это было приемлемо для Гудзона:
# Tweak the test result XML to make it acceptable to Hudson.
lines=`wc -l test-results/results.xml|awk '{print $1}'`
end=`expr $lines - 1`
sed -i "$end d;3d" test-results/results.xml
Ответ выше действителен, но проще, не изменяя Ваш процесс сборки:
Преобразование XSLT из предыдущего поста у меня не работает. После применения этого преобразования DOM-структура отчета не изменяется. Я изменил его, чтобы исправить проблему. Мой вариант:
<?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]/testsuite">
<xsl:copy-of select="." />
</xsl:for-each>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
у меня работает.
вы также можете использовать этот файл xslt для преобразования phpunit xml в hudson / junit xml:
<?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>
Я считаю, что xslt, возможно, придется изменять в зависимости от используемой версии phpunit. Например, таблица стилей, опубликованная hoschi, у меня хорошо сработала, используя phpunit версии 3.3.17
. Но вполне возможно, что phpunit был обновлен для выдачи другого формата в более новых версиях, или sir-vestnik мог работать с более старой версией .
If you would like a complete tutorial on integrating PHP with Hudson you can check out this link: