【问题标题】:Testing & Analysis of Shell (Bash) Scripts? [duplicate]Shell(Bash)脚本的测试和分析? [复制]
【发布时间】:2016-01-31 22:59:48
【问题描述】:

我正在开展一个项目,将我们的软件部署到 Linux 机器上。这涉及到整个 Bash 负载,例如,init 脚本(例如,service foo start 用于 SysVinit。我最担心的是,我们不会像使用 JUnit、FindBugs 等作为我们的一部分测试应用程序层代码那样测试这些脚本。 CI 管道。这里通常依赖什么解决方案?是否可以像我们在应用层代码中那样测试和分析这些低级 Linux 脚本?

【问题讨论】:

  • 静态分析见shellcheck.net
  • ...但是,由于这是对指向场外资源的指针的请求,因此根据规则,它显然是题外话。
  • ...参见stackoverflow.com/help/on-topic中给出的总是离题的项目列表中的项目#4
  • 有,但它与寻求其他人如何处理这个问题有关。也许“什么解决方案......”可以更好地表述。
  • 即使是“你如何做 X?”,也非常接近“你最喜欢的 ______ 是什么?”来自stackoverflow.com/help/dont-ask。如果该问题没有可以给出的单一规范答案,那么这同样会影响是否合适。随着时间的推移,这类问题往往会过时(随着新工具的构建或停止维护),并且会吸引大量答案,但没有一个是规范的。

标签: linux bash unit-testing static-analysis


【解决方案1】:

我不知道任何 Bash 单元测试设置,但我确实与一位老派的超级脚本编写者合作过。他会为他的脚本编写测试。它们包括在正在测试的脚本中打开 xtrace (set -x) 功能。然后,他将从每个测试运行/测试用例中捕获来自 xtrace (+ ...) 的输出,并且他可以通过 grep 或以其他方式解析它,以确保正在执行正确的操作。希望对您有所帮助。

【讨论】:

猜你喜欢
  • 2011-07-19
  • 2013-08-18
  • 2011-06-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-13
  • 2018-02-23
相关资源
最近更新 更多