我使用plunit包进行我的prolog单元测试(SWI-Prolog7.2)。
run_tests/0在控制台上打印结果,但我想以大多数CI服务器理解的xUnit XML格式导出plunit测试结果。有什么办法吗?
发布于 2016-02-20 00:50:46
我假设SWI plunit工具使用消息打印机制来生成它的输出。如果为真,您应该能够通过使用xUnit谓词拦截这些消息,以message_hook/3 XML格式(或任何其他格式)导出单元测试结果:
hook/3
巧合的是,我正在为Logtalk的单元测试工具lgtunit提供类似的支持(用于导出测试结果)。它应该让您了解如何为plunit做这件事。我今天提交了一个初步版本:
https://github.com/LogtalkDotOrg/logtalk3/blob/master/tools/lgtunit/NOTES.md report.lgt
在我的例子中,这种支持的目标是与CI服务器Concourse集成。不幸的是,似乎缺乏关于xUnit XML格式的确切信息,源引用不同版本的例如哪些属性是必需的还是可选的。我确实为这个格式位找到了一个XSD,我不知道它的准确性,或者它是否只是另一个变体:
https://stackoverflow.com/questions/35479109
复制相似问题