0

让 pg_prove 运行测试用例并将结果输出到 Junit xml 样式的命令是什么?

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

我们可以使用 --formatterTAP::Formatter::JUnit或 --harness TAP::Harness::JUnit来格式化输出吗?

4

1 回答 1

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,您可能需要XML::Simple通过命令sudo cpan XML::SimpleTest::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
于 2018-12-25T09:08:18.523 回答