我的模型方法依赖于config()
全球,在这里;
public function getGroup()
{
if(config('app.pages.'.$this->group.'.0')) {
return $this->group;
}
return "city";
}
我试图在我的单元测试类中测试这个方法,在这里;
public function testGetGroupReturnsCityAsDefault()
{
$response = new Response();
$response->group = "town";
$test = $response->getGroup();
dd($test);
}
我得到的错误是;
Error: Call to a member function make() on null
/home/vagrant/sites/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:62
/home/vagrant/sites/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:163
我知道这与 config() 全局有关。但不确定如何在我的测试中设置它。我试过
public function setUp()
{
config(['app.pages' => [
'city' => [........
但遇到了同样的错误。我该如何设置?
我不确定你是否已经解决了这个问题,但我也遇到了类似的问题。
为了让它发挥作用,我必须做两件事:
- 确保您像这样调用 setUp 父方法:
public function setUp()
{
parent::setUp();
// other stuff
}
- 确保您的测试类正在扩展 Laravel
TestCase
而不是PHPUnit_Framework_TestCase
简要说明:基本上你得到的错误是因为ContainerInstance
Laravel 的值为 null,因为您正在使用 PHPUnit,因此它从未被创建。如果执行上述步骤,您将确保 Laravel 首先实例化一个容器实例。
P.S.如果您最终要引用env
变量,你应该查看phpunit.xml
环境变量部分。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)