PHPunit测试在作为组运行时失败

PHPunit测试在作为组运行时失败,php,phpunit,Php,Phpunit,在PHPUnit中运行在PHPUnit.xml中定义的完整测试套件时,我的所有单元测试都会运行并通过 如果我运行一组特定的测试,我会得到一个致命的错误,因为我试图模拟的类找不到 我有一个Bootstrap.php文件,它设置了一个自动加载器,从我所看到的情况来看,这两种情况下都使用了Bootstrap 以前有人经历过这种情况,或者有什么建议吗?我偶尔会遇到这种错误。在不了解有关自动加载程序或设置的更多信息的情况下,您可以通过在类上使用disableAutoload修复模拟的问题 使用MockBu

在PHPUnit中运行在PHPUnit.xml中定义的完整测试套件时,我的所有单元测试都会运行并通过

如果我运行一组特定的测试,我会得到一个致命的错误,因为我试图模拟的类找不到

我有一个Bootstrap.php文件,它设置了一个自动加载器,从我所看到的情况来看,这两种情况下都使用了Bootstrap


以前有人经历过这种情况,或者有什么建议吗?

我偶尔会遇到这种错误。在不了解有关自动加载程序或设置的更多信息的情况下,您可以通过在类上使用
disableAutoload
修复模拟的问题

使用MockBuilder界面:

$mock = $this->getMockBuilder('SomeClass')->disableAutoload()->getMock();

  • 默认情况下,给定类的所有方法都替换为测试 除非配置了返回值,否则它只返回NULL 例如,使用will($this->returnValue())

  • 当提供第二个(可选)参数时,只有方法 数组中的名称将替换为可配置测试 双重的其他方法的行为不变。提供 NULL作为参数意味着不替换任何方法

  • 第三个(可选)参数可能包含以下参数数组: 传递给原始类的构造函数(未替换为 默认情况下为虚拟实现)

  • 第四个(可选)参数可用于指定类名 对于生成的测试双类

  • 第五个(可选)参数可用于禁用对 原始类的构造函数

  • 第六个(可选)参数可用于禁用对 原始类的克隆构造函数

  • 第七个(可选)参数可用于禁用自动加载() 在生成测试双类的过程中


是否可以显示失败的测试、bootstrap.php和您正在使用的命令行?
$mock = $this->getMock('SomeClass', array(), null, null, true, true, true)
                                                disables Autoload ----^