assertContainsOnlyInstancesOf()


assertContainsOnlyInstancesOf(string $classname, Traversable|array $haystack[, string $message = ''])

$haystack 并非仅包含类 $classname 的实例时报告错误,错误讯息由 $message 指定。


例 A.9: assertContainsOnlyInstancesOf() 的用法

  1. <?php
  2. use PHPUnit\Framework\TestCase;
  3.  
  4. class ContainsOnlyInstancesOfTest extends TestCase
  5. {
  6. public function testFailure()
  7. {
  8. $this->assertContainsOnlyInstancesOf(
  9. Foo::class,
  10. [new Foo, new Bar, new Foo]
  11. );
  12. }
  13. }
  14. ?>
  1. phpunit ContainsOnlyInstancesOfTest
  2. PHPUnit 6.5.0 by Sebastian Bergmann and contributors.
  3.  
  4. F
  5.  
  6. Time: 0 seconds, Memory: 5.00Mb
  7.  
  8. There was 1 failure:
  9.  
  10. 1) ContainsOnlyInstancesOfTest::testFailure
  11. Failed asserting that Array ([0]=> Bar Object(...)) is an instance of class "Foo".
  12.  
  13. /home/sb/ContainsOnlyInstancesOfTest.php:6
  14.  
  15. FAILURES!
  16. Tests: 1, Assertions: 1, Failures: 1.