【发布时间】:2018-12-25 08:56:50
【问题描述】:
让pg_prove运行测试用例并将结果输出为Junit xml风格的命令是什么?
pg_prove -U ubuntu -d $DB database/test/all_database_tests.sql
我们可以使用 --formatter TAP::Formatter::JUnit 或 --harness TAP::Harness::JUnit 来格式化输出吗?
【问题讨论】:
标签: 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 来格式化输出吗?
【问题讨论】:
标签: pgtap
是的,使用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::Simple 和Test::Deep 安装XML::Simple。
完整的例子如下:
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
【讨论】: