如何修复“测试完成后无法关闭模拟,在其他测试中可见”

时间:2019-05-16 15:38:22

标签: laravel unit-testing testing phpunit laravel-5.7

我创建了一个简单的模拟。但是在所有测试执行期间可见。在laravel和Mockery :: close中尝试了tearDown,但没有帮助。感谢您的帮助

寻找有关此问题的信息,但未找到任何内容。

    $mock = Mockery::mock("App\Repository\MainCity\Interfaces\GetMainCitiesInterface");
    $mock->shouldReceive('getMainCities')->once()->with("ru")->andreturn($return);
    app()->instance("App\Repository\MainCity\Interfaces\GetMainCitiesInterface", $mock);

    $gmcci = app()->make("App\Repository\MainCity\Caching\Interfaces\GetMainCitiesCacheInterface");
    $gmci = app()->make("App\Repository\MainCity\Interfaces\GetMainCitiesInterface");

    $res = $gmcci->getMainCitiesCache(
                            "ru",
                            $gmci
                            );

    $this->assertTrue( $res == $return );   

    \Mockery::close();

我希望某些请求能得到真实的城市,但会得到模拟结果

1 个答案:

答案 0 :(得分:0)

我在laravel中清除了所有视图,配置等缓存后,所有东西都开始工作了。我不知道为什么在这种情况下有帮助...