for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Tests\Unit;
use Tests\TestCase;
use Tests\FakeExtraCommand;
use Tests\FakeDefaultCommand;
use Illuminate\Container\Container;
use Illuminate\Contracts\Config\Repository;
class ApplicationTest extends TestCase
{
/** @test */
public function it_binds_core_alias(): void
$container = $this->createApplication()
->getContainer();
$this->assertTrue(Container::getInstance() === $container);
$this->assertTrue($container->make('app') === $container);
$this->assertTrue($container->make(Container::class) === $container);
$this->assertInstanceOf(Repository::class, $container->make('config'));
}
public function it_configures_using_configuration()
// @todo Test production config.
$app = $this->createApplication();
$this->assertTrue($app->getName() === 'Test name');
$this->assertTrue($app->getVersion() === 'Test version');
$commands = [
FakeDefaultCommand::class,
FakeExtraCommand::class,
];
$appCommands = collect($app->all())
->map(
function ($command) {
return get_class($command);
)
->toArray();
foreach ($commands as $command) {
$this->assertTrue(in_array($command, $appCommands));
public function it_register_service_providers()
$this->assertTrue(
$app->getContainer()
->make('foo') === 'bar'
);