有没有办法验证shell脚本的覆盖范围?我的项目有很多 shell 脚本,需要确保可以对 shell 脚本的覆盖范围执行静态分析。有没有可用的工具?
最佳答案
我严重怀疑是否可能对 shell 脚本执行任何静态代码分析 - 特别是由于 shell 脚本应该调用外部程序并基于这些外部程序返回的内容 - 并且有无数的外部程序和外部环境状态.类似严重依赖eval
的代码静态分析问题。类似机制,但 shell 脚本完全是关于 eval 风格的编程。
但是,有一些通用指针可以证明对“正确”验证、代码覆盖率和 shell 脚本的文档记录非常有用,就像主要语言一样:
-x
运行脚本(AKA xtrace
) 选项 - 它将输出类似于 stderr 的跟踪:+ log_end_msg 0
+ [ -z 0 ]
+ retval=0
+ log_end_msg_pre 0
+ :
+ log_use_fancy_output
+ TPUT=/usr/bin/tput
+ EXPR=/usr/bin/expr
+ [ -t 1 ]
+ [ xxterm != x ]
+ [ xxterm != xdumb ]
关于shell - 用于验证脚本的代码覆盖率工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7188081/