PHPUnit:验证数组是否具有给定值的键
给定以下类:
<?php
class Example {
private $Other;
public function __construct ($Other)
{
$this->Other = $Other;
}
public function query ()
{
$params = array(
'key1' => 'Value 1'
, 'key2' => 'Value 2'
);
$this->Other->post($params);
}
}
这个测试用例:
<?php
require_once 'Example.php';
require_once 'PHPUnit/Framework.php';
class ExampleTest extends PHPUnit_Framework_TestCase {
public function test_query_key1_value ()
{
$Mock = $this->getMock('Other', array('post'));
$Mock->expects($this->once())
->method('post')
->with(YOUR_IDEA_HERE);
$Example = new Example($Mock);
$Example->query();
}
如何验证该(这是一个数组)并传递给包含一个名为“key1”且值为“Value 1”的键?$params
$Other->post()
我不想验证所有数组 - 这只是一个示例代码,在实际代码中,传递的数组具有更多的值,我只想验证其中的单个键/值对。
我可以使用它来验证密钥是否存在。$this->arrayHasKey('keyname')
还有 ,它可以用来验证数组是否具有此值。$this->contains('Value 1')
我甚至可以将这两者与.但这当然不会给出预期的结果。$this->logicalAnd
到目前为止,我一直在使用returnCallback,捕获整个$params,然后对此进行断言,但是有没有另一种方法可以做我想做的事情?