【发布时间】:2017-11-19 09:24:25
【问题描述】:
在 PHPUnit 中很容易断言两个数组包含相同的值:
$this->assertEquals( [1, 2, 3], [1, 2, 3] );
最近的 PHP 版本使迭代器和生成器的使用更具吸引力,PHP 7.1 引入了the iterable pseudo-type。这意味着我可以编写函数来获取和返回iterable,而无需绑定到我使用普通的旧array 或使用懒惰的Generator。
如何断言返回iterable 的函数的返回值?理想情况下,我可以做类似的事情
$this->assertIterablesEqual( ['expected', 'values'], $iterable );
有这样的功能吗?或者,是否有一种不涉及在我的测试中添加一堆额外的命令式代码的理智测试方法?
【问题讨论】:
标签: php arrays iterator phpunit php-7.1