让 pg_prove 运行测试用例并将结果输出到 Junit xml 样式的命令是什么?
pg_prove -U ubuntu -d $DB database/test/all_database_tests.sql
我们可以使用 --formatterTAP::Formatter::JUnit
或 --harness TAP::Harness::JUnit
来格式化输出吗?
让 pg_prove 运行测试用例并将结果输出到 Junit xml 样式的命令是什么?
pg_prove -U ubuntu -d $DB database/test/all_database_tests.sql
我们可以使用 --formatterTAP::Formatter::JUnit
或 --harness TAP::Harness::JUnit
来格式化输出吗?
是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