0

我正在编写一个 Powershell 脚本,该脚本将进入客户端当前的源代码控制系统,并对所有文件进行大规模重命名,以便它们遵循新的命名约定。

作为一名勤奋的 TDD 开发人员,我从整理 PSUnit 测试用例开始。起初我在想我会将一个字符串传递给我的函数作为文件名(以及一些其他相关参数),然后返回一个字符串。然后我想到我需要将文件名分解为扩展名和基本名。由于 System.IO.FileInfo 已经具有该功能,我想为什么不只传入文件对象而不是字符串呢?

但是,如果我这样做,那么我看不到如何在不依赖外部资源的情况下编写我的 PSUnit 测试(在这种情况下,文件必须存在才能让我获取 FileInfo 对象 - 或者是吗?)。

有没有一种“干净”的方式来处理这个问题?其他人如何处理这些问题?

感谢您的任何帮助或建议!

4

1 回答 1

1

我的建议是:务实,将基本名称和扩展名作为两个单独的字符串传递。为方便起见,您可以提供一个接受FileInfo.

于 2011-02-25T15:14:56.480 回答