<?php namespace Yjtec\Consul\Tests\Commands; use Yjtec\Consul\Commands\InitCommand; use Yjtec\Consul\Tests\TestCase; class InitCommandTest extends TestCase { public function testHasInitFlase() { $this->mockMethod('storage_path', function () { return '123.php'; }); $command = new InitCommand; $this->assertFalse($command->hasInit()); } public function testHasInitTrue(){ $this->mockMethod('storage_path',function(){ return __FILE__; }); $command = new InitCommand; $this->assertTrue($command->hasInit()); } /** * @expectedException \RunTimeException * @expectedExceptionMessage Consul Has Initizlized */ public function testHandleInitTrue(){ $this->mockMethod('storage_path', function () { return __FILE__; }); $command = new InitCommand; $command->handle(); $this->assertTrue(true); } protected function mockMethod($name, \Closure $function, $namespace = null) { return parent::mockMethod($name, $function, 'Yjtec\Consul\Commands'); } }