рдЬрдм рдореИрдВ рдХрдХреНрд╖рд╛ PHPUnit_Framework_Testcase рдореЗрдВ рд╡рд┐рдзрд┐ assertEquals() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рддреБрд▓рдирд╛ рдХрд░рддрд╛ рд╣реВрдВ:
_рдЧрд▓рдд_ _NULL_ рдХреЗ рд╡рд┐рд░реБрджреНрдз,
_рдЦрд╛рд▓реА рд╕реНрдЯреНрд░рд┐рдВрдЧ_ _рдЧрд▓рдд_ рдХреЗ рд╡рд┐рд░реБрджреНрдз,
_ рдЦрд╛рд▓реА рд╕реНрдЯреНрд░рд┐рдВрдЧ_ _NULL_ рдХреЗ рд╡рд┐рд░реБрджреНрдз
рд╕рднреА рдкрд░реАрдХреНрд╖рдг рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкрд╛рд╕ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдХреЛрдИ рднреА рдореВрд▓реНрдп рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рдмрд░рд╛рдмрд░ рдирд╣реАрдВ рд╣реИред рддреЛ assertEquals "===" рдпрд╛ рдЙрд╕рдХреЗ рдЬреИрд╕рд╛ рдХреБрдЫ рдХреЗ рдмрдЬрд╛рдп "==" рдСрдкрд░реЗрдЯрд░ рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХрд░рддрд╛ рд╣реИред рд╕реЛрдЪреЗрдВ рдХрд┐ рдЬреИрд╕рд╛ рд╣реИ рд╡реИрд╕рд╛ рд╣реА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд▓реЗрдХрд┐рди рдХреНрдпреЛрдВ?
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ assertSame()
===
рддреБрд▓рдирд╛ рдХреЗ рд▓рд┐рдП
рдареАрдХ рд╣реИ рдПрдХрджрдо рд╕рд╣реАред рдирд╛рдо рдереЛрдбрд╝реЗ рднреНрд░рд╛рдордХ рд╣реИрдВред рд▓реЗрдХрд┐рди рдпрд╣ рдореЗрд░реА рдЧрд▓рддреА рд╣реИред рдЙрд╕рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИред
рд▓реЗрдХрд┐рди assertSame()
рдХреЗрд╡рд▓ true
рддреБрд▓рдирд╛ рдХрд░реЗрдЧрд╛, рдпрджрд┐ рд╡рд╕реНрддреБрдПрдВ рд╕рдорд╛рди рд╣реИрдВред
class Foo {}
$this->assertSame(new Foo(), new Foo());
Failed asserting that two variables reference the same object.
рдореБрдЭреЗ рдХреБрдЫ рдХреЛрдб рдЪрд╛рд╣рд┐рдП рдЬреЛ рдЗрд╕ рддрд░рд╣ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ:
$this->assertSame(new Foo(null), new Foo("")); // false
$this->assertSame(new Foo(null), new Foo(null)); // true
$this->assertSame(new Foo(""), new Foo("")); // true
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рд╣рдорд╛рд░реЗ рдкрд╛рд╕
assertSame()
===
рддреБрд▓рдирд╛ рдХреЗ рд▓рд┐рдП