Наследование: extends PHPUnit_Framework_TestCase
Пример #1
0
 public function setUp()
 {
     parent::setUp();
     // 构建数据库模拟层
     $conn = M::mock(ConnectionInterface::class);
     // 模拟连接 angejia 数据库
     $conn->shouldReceive('getDatabaseName')->andReturn('angejia');
     $conn->shouldReceive('getQueryGrammar')->andReturn(new Grammar());
     $conn->shouldReceive('getPostProcessor')->andReturn(new Processor());
     $this->conn = $conn;
     // 让所有 Model 使用我们伪造的数据库连接
     $resolver = M::mock(ConnectionResolverInterface::class);
     $resolver->shouldReceive('connection')->andReturnUsing(function () {
         return $this->conn;
     });
     User::setConnectionResolver($resolver);
     // 模拟 Meta 服务
     $meta = M::mock(Meta::class);
     $meta->shouldReceive('prefix')->with('angejia', 'user')->andReturn('');
     $meta->shouldReceive('prefix')->with('angejia', 'user', true)->andReturn('');
     $this->meta = $meta;
     // 模拟 Cache 服务
     $cache = M::mock(Cache::class);
     $this->cache = $cache;
     // 注入依赖的服务
     $this->app->bind(Meta::class, function () {
         return $this->meta;
     });
     $this->app->bind(Cache::class, function () {
         return $this->cache;
     });
 }