在OOP Universum于,有很多的信息,如何与DESGIN重构代码,使其单元测试友好.但我想知道,如何将这些原则/实践(使模拟更容易等)应用/翻译成shell脚本,这显然是不同的编程.
我必须解决一个非常庞大的代码库; 许多可执行和不可执行的过程,大型函数,大型全局状态,许多环境变量,以及通过重定向/管道和(不必要的)使用外部实用程序的任何地方(不必要的)进程间通信和文件处理.
如何重构shell代码(或在开头设计它),以便能够使用像bats和mocking-plugin这样的框架进行"良好"的自动单元测试?