如何在PHPunit中断言两个目录相同?

如何在PHPunit中断言两个目录相同?,php,phpunit,Php,Phpunit,我有2个目录,多个文件,基本上是文本格式 他们应该是平等的 我需要知道哪些文件丢失/额外(差异将) 我应该使用什么方法?我不相信有一个断言可以比较两个目录,但是您可以使用PHP的scandir,它将为您提供一个目录内容数组并比较这两个目录 $files1 = scandir($directory1); $files2 = scandir($directory2); $this->assertEquals($files1, $files2); 2020开源软件包答案 PHPUnit仍

我有2个目录,多个文件,基本上是文本格式

  • 他们应该是平等的
  • 我需要知道哪些文件丢失/额外(差异将)

我应该使用什么方法?

我不相信有一个断言可以比较两个目录,但是您可以使用PHP的scandir,它将为您提供一个目录内容数组并比较这两个目录

$files1 = scandir($directory1);
$files2 = scandir($directory2);

$this->assertEquals($files1, $files2);
2020开源软件包答案 PHPUnit仍然缺少这个特性,我们需要它来简化生成器测试。所以我们做了一个小包装来覆盖它

一揽子计划:

  • 按文件的重新激活名称比较文件
  • 比较它们的内容

1.安装 2.使用 将
DirectoryAssertableTrait
trait添加到您的测试用例中,并如下使用:


我刚刚测试了它,但if只返回非嵌套文件和dir。我需要目录中的所有文件。Post可帮助您递归扫描目录:
composer require symplify/easy-testing --dev