Laravel 執行測試時出現 Function name must be a string

在 Laravel 撰寫單元測試有用到 @dataProvider ,執行測試時卻出現 Function name must be a string 的錯誤。

這是因為所有的 Data Provider 會比 setUp 更早被執行,所以不能在 Data Provider 裡用任何在 setUp 後才會有的東西,例如 $this->app 或 helper function ,因為這時候它們還沒有被初始化或被 autoload 載入。