【发布时间】:2018-10-12 16:12:21
【问题描述】:
我正在为 PSR7 实现编写单元测试。我想检查MessageInterface 的方法是否像withProtocolVersion,不要改变原始对象。
如何在 PHP 中检查对象是否在某些操作后发生了变异?
【问题讨论】:
我正在为 PSR7 实现编写单元测试。我想检查MessageInterface 的方法是否像withProtocolVersion,不要改变原始对象。
如何在 PHP 中检查对象是否在某些操作后发生了变异?
【问题讨论】:
严格比较对象:
class Foo {
public $foo = 'bar';
}
$foo = new Foo();
var_dump($foo === $foo);
$foo2 = clone $foo;
$foo2->foo = 'not bar';
var_dump($foo2 === $foo);
var_dump($foo2 === $foo2);
我不确定你是否使用 phpunit,如果是,请尝试 assertSame() 和 assertEquals()。
【讨论】:
$foo在执行它的某个功能后是否发生了变异,比如$foo->bar()。