Powershell 在PSUnit中处理文件

Powershell 在PSUnit中处理文件,powershell,tdd,powershell-2.0,fileinfo,psunit,Powershell,Tdd,Powershell 2.0,Fileinfo,Psunit,我正在编写一个Powershell脚本,它将进入客户端当前的源代码管理系统,并对所有文件进行大规模重命名,以便它们遵循新的命名约定 作为勤奋的TDD开发人员,我从编写PSUnit测试用例开始。起初,我认为我应该将一个字符串传递给函数以获取文件名(以及一些其他相关参数),然后返回一个字符串。然后我想到,我需要将文件名分解为扩展名和基名。既然System.IO.FileInfo已经有了这个功能,我想为什么不直接传入一个文件对象而不是字符串呢 但是,如果我这样做,那么我不知道如何在不依赖外部资源的情况

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

作为勤奋的TDD开发人员,我从编写PSUnit测试用例开始。起初,我认为我应该将一个字符串传递给函数以获取文件名(以及一些其他相关参数),然后返回一个字符串。然后我想到,我需要将文件名分解为扩展名和基名。既然System.IO.FileInfo已经有了这个功能,我想为什么不直接传入一个文件对象而不是字符串呢

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

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


谢谢你的帮助和建议

我的建议是:务实一点,将基名称和扩展名作为两个单独的字符串传入。出于方便的原因,您可以提供一个重载来接受
FileInfo

darn;)我是在回答你关于“设置视图”部分的ClearCase问题。你到底发现了什么?我发现我是个白痴,在一个地方更改了变量名,但在另一个地方却没有但是我仍然没有找到解决setview问题的方法。这刚刚解决了无法更改文件名的问题。但是setview只是在Unix上为动态视图提供快捷方式的一种方法。在Windows上,您可以通过使用简单(非ClearCase)Windows命令
subst
()将文件夹映射到驱动器号来使用驱动器号