pg_prove运行测试用例并输出junit xml样式结果

时间:2018-12-25 08:56:51

标签: pgtap

什么是让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 :(得分:0)

是的,使用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之前,可能需要通过命令sudo cpan XML::SimpleXML::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