寻找单元/集成测试的文件夹比较实用程序

时间:2012-03-12 07:47:19

标签: windows unit-testing filesystems integration-testing

上下文:
环境:MS Windows 7或2008.
代码:.NET(C#)

我编写了一些更改文件系统的代码:复制文件,删除文件,创建文件夹等。

我想对此代码进行一些集成测试:我想在给定文件夹上执行代码,然后将结果与预定义的预期文件夹进行比较。
我只需要一个文件夹比较工具,它可以比较文件夹结构,仅基于名称(其他参数,如创建日期,大小,权限 - 无关紧要)。
最重要的是,它应该很容易在代码(.NET)中自动化,或者作为具有可读输出的命令行实用程序自动化。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

您可以使用Compare-Object cmdlet编写一个简单的PowerShell脚本:

$expected = Get-ChildItem C:\ExpectedDirTree
$actual = Get-ChildItem C:\ActualDirTree

Compare-Object $expected $actual -Property Name

此脚本将根据节点的Name属性比较两个目录结构,这些属性可以是DirectoryInfoFileInfo个对象。结果是一个对象数组,它们以一种相当容易解析的格式表示两个结构之间的差异

Name                SideIndicator
-----------         -------------
SomeDirectory            =>
SomeFile                 <=

结果数组中的对象有两个属性,可用于确定测试结果:

  • Name:一个结构中存在的目录或文件的名称,而不是另一个结构中的目录或文件的名称
  • SiteIndicator:一个字符串,表示对象是否存在于比较的左侧的结构中或右侧的 < / LI>
相关问题