Dan*_*tin 5 haskell haskell-stack
借助cabal,可以建立连续的构建,以许多CI系统会接受的格式记录测试成功/失败的命令,例如:
cabal test '--test-option=--jxml=test-results/$test-suite.xml'
Run Code Online (Sandbox Code Playgroud)
这里的重要部分$test-suite是用测试名称代替,以便不同的测试将其结果放入不同的文件中。
当我使用堆栈时,所有测试实际上都会获得--jxml=test-results/$test-suite.xml传递给他们的选项,因此最终结果是测试覆盖了彼此的结果。
有什么方法可以运行我的所有测试,stack以便告诉每个测试套件一个不同的位置来编写其结果?
我什至会接受一些堆栈命令,为我解析cabal文件并告诉我有什么测试套件,因为这样我就可以在bash中编写一个脚本循环,一次调用每个测试套件。
我什至会接受一些堆栈命令,为我解析 cabal 文件并告诉我有哪些测试套件,因为这样我就可以在 bash 中编写一个循环,一次调用每个测试一个。
如果您愿意屈尊这样做,stack ide targets将返回一个目标列表,您可以从中进行一些攻击以获取测试套件列表。像这样的东西:
stack ide targets 2>&1 |
while IFS=: read pkg type suite; do
[[ $type = test ]] && stack test ":$suite" --test-arguments="--jxml=test-results/$suite.xml"
done
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
104 次 |
| 最近记录: |