pg_prove - выполнить тестовый пример и вывести результат в стиле Junit XML - PullRequest
0 голосов
/ 25 декабря 2018

Какая команда позволяет pg_prove выполнить тестовый пример и вывести результат в стиле Junit xml?

pg_prove -U ubuntu -d $DB database/test/all_database_tests.sql

Можем ли мы использовать --formatter TAP::Formatter::JUnit или --harness TAP::Harness::JUnit для форматированиявыход?

1 Ответ

0 голосов
/ 25 декабря 2018

Да, используйте TAP::Harness::JUnit для форматирования результата теста.

JUNIT_OUTPUT_FILE=/tmp/circleci-test-results/all_database_tests_results.xml pg_prove -U ubuntu -d $DB database/test/all_database_tests.sql --verbose --harness TAP::Harness::JUnit

JUNIT_OUTPUT_FILE сообщите pg_prove, где имя и путь к файлу результата теста;--harness TAP::Harness::JUnit сообщает pg_prove, какой формат результата выводить.

Перед установкой TAP::Harness::JUnit вам может потребоваться установить XML::Simple по команде sudo cpan XML::Simpleи Test::Deep.

. Полный пример приведен ниже:

git clone https://github.com/jlavallee/tap-harness-junit.git
git clone https://github.com/rjbs/Test-Deep.git

sudo cpan TAP::Parser::SourceHandler::pgTAP   # Install pg_prove
psql -U ubuntu -d $DB -c "CREATE EXTENSION IF NOT EXISTS pgtap;" #Create pgtap extension;
sudo cpan XML::Simple  #Install XML::Simple
cd Test-Deep && perl Makefile.PL && sudo make && sudo make test && sudo make install
cd tap-harness-junit && perl Build.PL && sudo ./Build && sudo ./Build install
JUNIT_OUTPUT_FILE=/tmp/circleci-test-results/all_database_tests_results.xml pg_prove -U ubuntu -d $DB database/test/all_database_tests.sql --verbose --harness TAP::Harness::JUnit
...