我们有一个系统,除了Java代码之外,还有一些Bash脚本正在运行。由于我们正在尝试测试所有可能破坏的东西,而那些Bash脚本可能会中断,所以我们想要测试它们。
问题是很难测试Bash脚本。
是否有测试Bash脚本的方法或最佳实践?还是我们应该停止使用Bash脚本,寻找可测试的替代解决方案?
发布于 2009-09-01 07:43:40
我从一个讨论小组得到了以下答案:
可以从外部文件导入(包括,任何)过程(函数,它的名称)。这是编写测试脚本的关键:将脚本分解为独立的过程,然后将它们导入到运行脚本和测试脚本中,然后让运行的脚本尽可能简单。
这种方法类似于脚本的依赖注入,听起来很合理。最好避免使用Bash脚本,使用更易测试和更少晦涩的语言。
发布于 2009-08-27 07:43:18
实际上有一个shunit2,一个基于xUnit的基于Bourne的shell脚本的单元测试框架。我自己没有用过,但可能值得一看。
以前也曾提出过类似的问题:
发布于 2012-11-02 16:16:08
水龙头-compliant Bash测试:自动测试系统
TAP,testing协议,是测试工具中测试模块之间一个简单的基于文本的接口。TAP作为Perl测试工具的一部分开始了工作,但现在已经有了C、C++、Python、Perl、Java、JavaScript等实现。
蝙蝠核
https://stackoverflow.com/questions/1339416
复制相似问题