The assertStringContainsString() function is a builtin function in PHPUnit and is used to assert a string containing a substring. This assertion will return true in the case if the string contains the substring as a substring else return false and in case of true the asserted test case got passed else test case got failed.
Syntax:
assertStringContainsString(string $substring, string $string, string $message = ''])
Parameters: This function accepts three parameters as shown in the above syntax. The parameters are described below:
- $substring: This parameter represents the string to be substring of given string.
- $string: This parameter is string for which the assert function will check whether it contains substring or not.
- $message: This parameter takes string value. When the testcase got failed this string message got displayed as error message.
Below programs illustrate the assertStringContainsString() function:
Program 1:
<?php use PHPUnit\Framework\TestCase; class GeeksPhpunitTestCase extends TestCase { public function testNegativeTestcaseForAssertStringContainsString() { $testString = "geekforgeek" ; $substring = "neveropen" ; // assert function to test whether 'neveropen' is a substring of testString $this ->assertStringContainsString( $substring , $testString , "testString doesn't contains 'neveropen' as substring" ) ; } } ?> |
Output:
PHPUnit 8.2.5 by Sebastian Bergmann and contributors. F 1 / 1 (100%) Time: 65 ms, Memory: 10.00 MB There was 1 failure: 1) GeeksPhpunitTestCase::testNegativeTestcaseForAssertStringContainsString testString doesn't contains 'neveropen' as substring Failed asserting that 'geekforgeek' contains "neveropen". /home/shivam/Documents/neveropen/phpunit/abc.php:11 FAILURES! Tests: 1, Assertions: 1, Failures: 1.
Program 2:
<?php use PHPUnit\Framework\TestCase; class GeeksPhpunitTestCase extends TestCase { public function testPositiveTestcaseForAssertStringContainsString() { $testString = "geekforgeek" ; $substring = "geek" ; // assert function to test whether 'neveropen' is a substring of testString $this ->assertStringContainsString( $substring , $testString , "testString doesn't contains 'neveropen' as substring" ) ; } } ?> |
Output:
PHPUnit 8.2.5 by Sebastian Bergmann and contributors. . 1 / 1 (100%) Time: 67 ms, Memory: 10.00 MB OK (1 test, 1 assertion)
Note : To run testcases with phpunit follow steps from here. Also, assertStringContainsString() is supported by phpunit 7 and above.