PHP:如何断言数组包含某个值?

时间:2014-05-22 16:11:53

标签: php unit-testing phpunit assert

我正在使用phpunit编写一些单元测试,我现在想断言一个数组包含一个特定的值,但我能找到的唯一函数是assertArrayHasKey()。没有任何assertArrayHasValue。

所以要明确我想要这样的事情:

$a = [5, 8, 16];
assertArrayHasValue(8, $a);

欢迎所有提示!

2 个答案:

答案 0 :(得分:7)

您可以使用功能assertContains()

执行此操作

试试这个:

$a = [5, 8, 16];
$this->assertContains(8, $a);

ASSERT_CONTAINS

答案 1 :(得分:2)

您可以使用ouzo goodies library

 $animals = ['cat', 'dog', 'pig'];
 Assert::thatArray($animals)->hasSize(3)->contains('cat');

有许多有趣的断言可以链接,例如。

Assert::thatArray($users)->onMethod('getAge')->containsOnly(35, 24);

请参阅http://ouzo.readthedocs.org/en/latest/documentation/tests.html#array-assertions