PHP UnitテストのassertEqualsとassertSameの違いと、assertEqualsは==と全く一緒ではない件について

assertEqualsとassertSameの違いについて

PHPのUnitテストを書くようになって、基本はassertSameを使うもののassertEqualsとassertSameの違いをちゃんと調べたことがまだないなと思って調べてました。
イメージとしてはassertEqualsは==のような挙動で厳密に型を見ない、assertSameは===のような挙動であり型をしっかる見る。
そのためよほどの事情がない限りはassertSameを使えば良いようです。
たしかにUnitテストで暗黙的型変換されるとマズいですね、、

assertEqualsは==と全く一緒ではない

検索すると==と同じという記述は出てくるのですが、厳密には一緒ではないようです。
こちらの記事で詳しく検証されています。
PHPUnitのassertEquals()は==と同じではない - Qiita

==と同じではない、ということを覚えておかないとハマることもあるかもしれません。
ただ、そもそもassertEqualsを使う機会があまりないため、記憶の片隅に置いてもいずれ忘れそうですね、、、

参考

PHPUnitのアサーションメソッドを知ろう! - RAKUS Developers Blog | ラクス エンジニアブログ