我正在编写一个 Powershell 脚本,该脚本将进入客户端当前的源代码控制系统,并对所有文件进行大规模重命名,以便它们遵循新的命名约定。
作为一名勤奋的 TDD 开发人员,我从整理 PSUnit 测试用例开始。起初我在想我会将一个字符串传递给我的函数作为文件名(以及一些其他相关参数),然后返回一个字符串。然后我想到我需要将文件名分解为扩展名和基本名。由于 System.IO.FileInfo 已经具有该功能,我想为什么不只传入文件对象而不是字符串呢?
但是,如果我这样做,那么我看不到如何在不依赖外部资源的情况下编写我的 PSUnit 测试(在这种情况下,文件必须存在才能让我获取 FileInfo 对象 - 或者是吗?)。
有没有一种“干净”的方式来处理这个问题?其他人如何处理这些问题?
感谢您的任何帮助或建议!