课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
我们在上文中给大家简单介绍了Bash脚本单元测试的场景需求,而今天我们就再来了解一下,Bash脚本单元测试框架与优势都有哪些。
有一个名为 Bach Testing Framework 的测试框架是目前常用的可以为 Bash 脚本编写真正的单元测试的框架。
Bach Testing Framework 的独特的特性就是默认不会执行任何位于 PATH 环境变量中的命令,因此 Bach Testing Framework 非常适用于验证 Bash 脚本的执行逻辑。并且还带来了以下好处:
1、简单
什么也不用安装。我们就可以执行这些测试。比如可以在一个全新的环境中执行一个调用了大量三方命令的 Bash 脚本。
2、快
因为所有的命令都不会被真正执行,所以每一个测试用例的执行都非常快。
3、安全
因为不会执行任何外部的命令,所以即使因为 Bash 脚本中的某些错误导致执行了一个危险的命令,比如 rm -rf *。Bach 会保证这些危险命令不会被执行。
4、与运行环境无关
可以在 Windows 上去执行只能工作在 GNU/Linux 上的脚本的测试。
由于操作系统和 Bash 的一些限制,Bach Testing Framework 无法做到:
5、拦截使用绝对路径调用的命令
事实上我们应该避免在 Bash 脚本中使用绝对路径,如果不可避免的要使用,我们可以把这个绝对路径抽取为一个变量,或者放入到一个函数中,然后用 @mock API 去模拟这个函数。
拦截诸如 >、>>、<< 等等这样的 I/O 重定向
是的,无法拦截 I/O 重定向。我们也同样可以把这些重定向操作隔离到一个函数中,然后再模拟这个函数。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请在707945861群中学习了解。