33 lines
		
	
	
		
			923 B
		
	
	
	
		
			PHP
		
	
	
		
		
			
		
	
	
			33 lines
		
	
	
		
			923 B
		
	
	
	
		
			PHP
		
	
	
|  | <?php | ||
|  | 
 | ||
|  | namespace think\tests; | ||
|  | 
 | ||
|  | use GuzzleHttp\Psr7\Response; | ||
|  | use Mockery; | ||
|  | use PHPUnit\Framework\TestCase; | ||
|  | use think\Request; | ||
|  | use think\route\Dispatch; | ||
|  | use think\route\Rule; | ||
|  | 
 | ||
|  | class DispatchTest extends TestCase | ||
|  | { | ||
|  |     public function testPsr7Response() | ||
|  |     { | ||
|  |         $request = Mockery::mock(Request::class); | ||
|  |         $rule = Mockery::mock(Rule::class); | ||
|  |         $dispatch = new class($request, $rule, '') extends Dispatch { | ||
|  |             public function exec() | ||
|  |             { | ||
|  |                 return new Response(200, ['framework' => ['tp', 'thinkphp'], 'psr' => 'psr-7'], '123'); | ||
|  |             } | ||
|  |         }; | ||
|  | 
 | ||
|  |         $response = $dispatch->run(); | ||
|  | 
 | ||
|  |         $this->assertInstanceOf(\think\Response::class, $response); | ||
|  |         $this->assertEquals('123', $response->getContent()); | ||
|  |         $this->assertEquals('tp, thinkphp', $response->getHeader('framework')); | ||
|  |         $this->assertEquals('psr-7', $response->getHeader('psr')); | ||
|  |     } | ||
|  | } |