assertContains()
最后更新于:2022-04-01 03:47:09
# assertContains()
>[info] ## assertContains(mixed $needle, Iterator|array $haystack[, string $message = ''])
当 `$needle` 不是 `$haystack`的元素时报告错误,错误讯息由 `$message` 指定。
`assertNotContains()` 是与之相反的断言,接受相同的参数。
`assertAttributeContains()` 和 `assertAttributeNotContains()` 是便捷包装(convenience wrapper),以某个类或对象的 `public`、`protected` 或 `private` 属性为搜索范围。
**Example A.5. assertContains() 的用法**
~~~
<?php
class ContainsTest extends PHPUnit_Framework_TestCase
{
public function testFailure()
{
$this->assertContains(4, array(1, 2, 3));
}
}
?>
~~~
~~~
phpunit ContainsTest
PHPUnit 5.0.0 by Sebastian Bergmann and contributors.
F
Time: 0 seconds, Memory: 5.00Mb
There was 1 failure:
1) ContainsTest::testFailure
Failed asserting that an array contains 4.
/home/sb/ContainsTest.php:6
FAILURES!
Tests: 1, Assertions: 1, Failures: 1.
~~~
>[info] ## assertContains(string $needle, string $haystack[, string $message = '', boolean $ignoreCase = FALSE])
当 `$needle` 不是 `$haystack` 的子字符串时报告错误,错误讯息由 `$message` 指定。
如果 `$ignoreCase` 为 `TRUE`,测试将按大小写不敏感的方式进行。
**Example A.6. assertContains() 的用法**
~~~
<?php
class ContainsTest extends PHPUnit_Framework_TestCase
{
public function testFailure()
{
$this->assertContains('baz', 'foobar');
}
}
?>
~~~
~~~
phpunit ContainsTest
PHPUnit 5.0.0 by Sebastian Bergmann and contributors.
F
Time: 0 seconds, Memory: 5.00Mb
There was 1 failure:
1) ContainsTest::testFailure
Failed asserting that 'foobar' contains "baz".
/home/sb/ContainsTest.php:6
FAILURES!
Tests: 1, Assertions: 1, Failures: 1.
~~~
**Example A.7. 带有 $ignoreCase 参数的 assertContains() 的用法**
~~~
<?php
class ContainsTest extends PHPUnit_Framework_TestCase
{
public function testFailure()
{
$this->assertContains('foo', 'FooBar');
}
public function testOK()
{
$this->assertContains('foo', 'FooBar', '', true);
}
}
?>
~~~
~~~
phpunit ContainsTest
PHPUnit 5.0.0 by Sebastian Bergmann and contributors.
F.
Time: 0 seconds, Memory: 2.75Mb
There was 1 failure:
1) ContainsTest::testFailure
Failed asserting that 'FooBar' contains "foo".
/home/sb/ContainsTest.php:6
FAILURES!
Tests: 2, Assertions: 2, Failures: 1.
~~~