2011-11-30 38 views
0

当我运行带有硒的phpunit时出现此错误。传递给PHPUnit_Framework_ExpectationFailedException :: __ construct()的参数2必须是PHPUnit_Framework_ComparisonFailure的一个实例

当我检查类PHPUnit_Framework_ExpectationFailedException,我发现下面一行:

public function __construct($message, PHPUnit_Framework_ComparisonFailure $comparisonFailure = NULL) 

事实上,第二个参数必须是一个对象,而不是一个字符串,但如果我检查类SeleniumTestCase,我可以看到:

if ($e instanceof PHPUnit_Framework_ExpectationFailedException) { 
     if (is_object($e->getComparisonFailure())) { 
      $message = $e->getComparisonFailure()->toString(); 
     } else { 
      $message = $e->getMessage(); 
     } 

     $buffer .= "\n" . $message; 

     throw new PHPUnit_Framework_ExpectationFailedException($buffer, $message); 

$message似乎是一个字符串,而不是一个对象。

你能帮我吗?

PS:我使用PHPUnit的版本(3.6.4)和硒(1.1.1)的最新版本

回答

1

在PHPUnit的3.6 PHPUnit_Framework_ExpectationFailedException通过删除第二个可选的自定义消息改变。它看起来像phpunit-selenium尚未更新此更改。您可以在此期间downgrade to PHPUnit 3.5.x或修复它并提交拉取请求。

相关问题