【问题标题】:PHP: how to assert that an array contains a certain value?PHP:如何断言数组包含某个值?
【发布时间】:2014-05-22 16:11:52
【问题描述】:

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

所以要清楚我想要这样的东西:

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

欢迎所有提示!

【问题讨论】:

标签: php unit-testing phpunit assert


【解决方案1】:

你可以用函数assertContains()来做到这一点

试试这个:

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

ASSERT_CONTAINS

【讨论】:

    【解决方案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

    【讨论】:

      猜你喜欢
      • 2017-12-29
      • 1970-01-01
      • 2021-04-07
      • 1970-01-01
      • 1970-01-01
      • 2017-04-30
      • 1970-01-01
      • 2013-07-06
      • 2021-07-23
      相关资源
      最近更新 更多