Laravel executor
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);
}
}