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