【发布时间】:2014-10-07 09:54:20
【问题描述】:
我正在使用 laravel 4 并在其自己的命名空间下创建了一个类。在这个类中有一个检索数据并缓存它的方法。我还编写了一个非常小的单元测试来检查缓存是否有效。出于某种原因,缓存在单元测试时不起作用,但在通过浏览器访问时起作用。我什至修改了app/config/testing/cache.php 驱动程序以使用 apc 而不是数组,它仍然不起作用。
代码如下:
<?php namespace site;
use Cache;
class UserController {
public function testCaching( )
{
Cache::put('test', 'testing', 1);
if (Cache::has('test')) die("YES: " . Cache::get('test')); die("NO");
}
}
routes.php 文件(通过浏览器运行,结果:'YES testing'):
Route::get('test-caching', 'site\UserController@register');
测试(不适用于 phpunit,结果:'NO'):
<?php namespace site;
use Illuminate\Foundation\Testing\TestCase;
class SiteTest extends TestCase {
/** @test */
public function it_caches_vendor_token()
{
$user = new UserController();
$user->testCaching();
}
}
还有其他人遇到过这个问题吗?有什么解决办法吗?
【问题讨论】:
-
同样的问题,现在正在尝试解决