/laravel-executor

Command line facade

Primary LanguagePHPGNU General Public License v3.0GPL-3.0

Laravel executor

Latest Stable Version Build Status StyleCI Scrutinizer Code Quality

Laravel executor is a very simple facade to system PHP command. It makes possible to mock the result of the command execution without run it using a facade

Installation

Install it via composer:

composer require axsor/laravel-executor

If you are using Laravel 5.4 or lower you must add ExecutorServiceProvider to your config/app.php:

'providers' => [
    Axsor\Executor\ExecutorServiceProvider::class,
],

Higher versions will auto-discover it.

How to use

use Axsor\Executor\Facades\Executor;

class MyTests extends TestCase
{
    public function test_my_functionality()
    {
        Executor::shouldReceive('run')->with('ping google.com', 1)->once()->andReturn("PING google.com (172.217.17.14) 56(84) bytes of data.
        64 bytes from mad07s09-in-f14.1e100.net (172.217.17.14): icmp_seq=1 ttl=51 time=25.9 ms");
        
        $result = 1;
        $return = Executor::run('ping google.com', $result);
        
        $this->assertEquals(1, $result);
        $this->assertEquals("PING google.com (172.217.17.14) 56(84) bytes of data.
64 bytes from mad07s09-in-f14.1e100.net (172.217.17.14): icmp_seq=1 ttl=51 time=25.9 ms", $return);
    }
}

License

GPL-3.0