assertContains()是PHP單元測試中的一個非常重要和常用的函數。它主要用于在一個字符串或一個數組中查找某個特定字符串或元素是否在其中。我們可以通過多種方式來使用assertContains()函數,下面就讓我們一起來看看。
首先,我們可以使用assertContains()函數來檢查一個字符串是否在另一個字符串中。例如,在下面的代碼中,我們將檢查"$needle"變量中是否包含在"$haystack"變量中,來測試assertContains()函數:
$needle = 'world'; $haystack = 'hello world'; // 斷言$needle在$haystack中 $this->assertContains($needle, $haystack);
如果"$needle"變量在"$haystack"中出現,則上述代碼不會拋出任何異常并通過測試,如果不在,則會報錯。
其次,我們還可以使用assertContains()函數來檢查一個元素是否在一個數組中,如下所示:
$needle = 3; $haystack = [1, 2, 3, 4]; // 斷言$needle在$haystack中 $this->assertContains($needle, $haystack);
如果"$needle"變量在"$haystack"數組中出現,則上述代碼不會拋出任何異常并通過測試,如果不在,則會報錯。
此外,assertContains()函數還可以用于檢查一個字符串是否包含另一個字符串中的某些子串,我們可以通過將子串放在一個數組中實現。
$needle = ['world', 'sunshine', 'happy']; $haystack = 'hello world, here comes the sunshine, hope you are happy!'; // 斷言$needle中的所有元素都在$haystack中 $this->assertContains($needle, $haystack);
如果"$needle"變量中的所有子串都在"$haystack"中出現,則上述代碼不會拋出任何異常并通過測試,如果不在,則會報錯。
除了上述用法,assertContains()函數還有其他一些用法。對于復雜的字符串和數組,我們可以使用正則表達式來檢查它們是否包含某個特定字符串或元素,或者我們可以使用第三個參數來設置一個消息,以便更好地了解測試失敗的原因。
總之,assertContains()函數是PHP單元測試中一個非常強大和重要的函數,可以幫助我們檢查字符串和數組中是否包含某些特定的子串和元素,它的使用非常簡單和方便,我們只需要將需要檢查的子串和元素傳遞進來即可。