W3cubDocs

/Laravel 8

TestCase

abstract class TestCase extends TestCase (View source)

Traits

InteractsWithContainer
MakesHttpRequests
InteractsWithAuthentication
InteractsWithConsole
InteractsWithDatabase
InteractsWithExceptionHandling
InteractsWithSession
InteractsWithTime
InteractsWithViews
MocksApplicationServices

Properties

protected Mix|null $originalMix The original Laravel Mix handler. from InteractsWithContainer
protected array $defaultHeaders Additional headers for the request. from MakesHttpRequests
protected array $defaultCookies Additional cookies for the request. from MakesHttpRequests
protected array $unencryptedCookies Additional cookies will not be encrypted for the request. from MakesHttpRequests
protected array $serverVariables Additional server variables for the request. from MakesHttpRequests
protected bool $followRedirects Indicates whether redirects should be followed. from MakesHttpRequests
protected bool $encryptCookies Indicates whether cookies should be encrypted. from MakesHttpRequests
protected bool $withCredentials Indicated whether JSON requests should be performed "with credentials" (cookies). from MakesHttpRequests
bool $mockConsoleOutput Indicates if the console output should be mocked. from InteractsWithConsole
array $expectedOutput All of the expected output lines. from InteractsWithConsole
array $unexpectedOutput All of the output lines that aren't expected to be displayed. from InteractsWithConsole
array $expectedTables All of the expected ouput tables. from InteractsWithConsole
array $expectedQuestions All of the expected questions. from InteractsWithConsole
array $expectedChoices All of the expected choice questions. from InteractsWithConsole
protected ExceptionHandler|null $originalExceptionHandler The original exception handler. from InteractsWithExceptionHandling
protected $except from InteractsWithExceptionHandling
protected $originalHandler from InteractsWithExceptionHandling
protected array $firedEvents All of the fired events. from MocksApplicationServices
protected array $firedModelEvents All of the fired model events. from MocksApplicationServices
protected array $dispatchedJobs All of the dispatched jobs. from MocksApplicationServices
protected array $dispatchedNotifications All of the dispatched notifications. from MocksApplicationServices
protected Application $app The Illuminate application instance.
protected array $afterApplicationCreatedCallbacks The callbacks that should be run after the application is created.
protected array $beforeApplicationDestroyedCallbacks The callbacks that should be run before the application is destroyed.
protected Throwable $callbackException The exception thrown while running an application destruction callback.
protected bool $setUpHasRun Indicates if we have made it through the base setUp function.

Methods

object swap(string $abstract, object $instance)

Register an instance of an object in the container.

from InteractsWithContainer
object instance(string $abstract, object $instance)

Register an instance of an object in the container.

from InteractsWithContainer
MockInterface mock(string $abstract, Closure $mock = null)

Mock an instance of an object in the container.

from InteractsWithContainer
MockInterface partialMock(string $abstract, Closure $mock = null)

Mock a partial instance of an object in the container.

from InteractsWithContainer
MockInterface spy(string $abstract, Closure $mock = null)

Spy an instance of an object in the container.

from InteractsWithContainer
$this withoutMix()

Register an empty handler for Laravel Mix in the container.

from InteractsWithContainer
$this withMix()

Register an empty handler for Laravel Mix in the container.

from InteractsWithContainer
$this withHeaders(array $headers)

Define additional headers to be sent with the request.

from MakesHttpRequests
$this withHeader(string $name, string $value)

Add a header to be sent with the request.

from MakesHttpRequests
$this withToken(string $token, string $type = 'Bearer')

Add an authorization token for the request.

from MakesHttpRequests
$this flushHeaders()

Flush all the configured headers.

from MakesHttpRequests
$this withServerVariables(array $server)

Define a set of server variables to be sent with the requests.

from MakesHttpRequests
$this withoutMiddleware(string|array|null $middleware = null)

Disable middleware for the test.

from MakesHttpRequests
handle($request, $next)

No description

from MakesHttpRequests
$this actingAs(Authenticatable $user, string|null $driver = null)

Set the currently logged in user for the application.

from InteractsWithAuthentication
$this be(Authenticatable $user, string|null $driver = null)

Set the currently logged in user for the application.

from InteractsWithAuthentication
$this assertAuthenticated(string|null $guard = null)

Assert that the user is authenticated.

from InteractsWithAuthentication
$this assertGuest(string|null $guard = null)

Assert that the user is not authenticated.

from InteractsWithAuthentication
bool isAuthenticated(string|null $guard = null)

Return true if the user is authenticated, false otherwise.

from InteractsWithAuthentication
$this assertAuthenticatedAs(Authenticatable $user, string|null $guard = null)

Assert that the user is authenticated as the given user.

from InteractsWithAuthentication
$this assertCredentials(array $credentials, string|null $guard = null)

Assert that the given credentials are valid.

from InteractsWithAuthentication
$this assertInvalidCredentials(array $credentials, string|null $guard = null)

Assert that the given credentials are invalid.

from InteractsWithAuthentication
bool hasCredentials(array $credentials, string|null $guard = null)

Return true if the credentials are valid, false otherwise.

from InteractsWithAuthentication
PendingCommand|int artisan(string $command, array $parameters = [])

Call artisan command and return code.

from InteractsWithConsole
$this withoutMockingConsoleOutput()

Disable mocking the console output.

from InteractsWithConsole
$this assertDatabaseHas(string $table, array $data, string|null $connection = null)

Assert that a given where condition exists in the database.

from InteractsWithDatabase
$this assertDatabaseMissing(string $table, array $data, string|null $connection = null)

Assert that a given where condition does not exist in the database.

from InteractsWithDatabase
$this assertDatabaseCount(string $table, int $count, string|null $connection = null)

Assert the count of table entries.

from InteractsWithDatabase
$this assertDeleted(Model|string $table, array $data = [], string|null $connection = null)

Assert the given record has been deleted.

from InteractsWithDatabase
$this assertSoftDeleted(Model|string $table, array $data = [], string|null $connection = null, string|null $deletedAtColumn = 'deleted_at')

Assert the given record has been "soft deleted".

from InteractsWithDatabase
bool isSoftDeletableModel(mixed $model)

Determine if the argument is a soft deletable model.

from InteractsWithDatabase
Expression castAsJson(array|string $value)

Cast a JSON string to a database compatible type.

from InteractsWithDatabase
Connection getConnection(string|null $connection = null)

Get the database connection.

from InteractsWithDatabase
$this seed(array|string $class = 'Database\\Seeders\\DatabaseSeeder')

Seed a given database connection.

from InteractsWithDatabase
$this withExceptionHandling()

Restore exception handling.

from InteractsWithExceptionHandling
$this handleExceptions(array $exceptions)

Only handle the given exceptions via the exception handler.

from InteractsWithExceptionHandling
$this handleValidationExceptions()

Only handle validation exceptions via the exception handler.

from InteractsWithExceptionHandling
$this withoutExceptionHandling(array $except = [])

Disable exception handling for the test.

from InteractsWithExceptionHandling
void __construct(ExceptionHandler $originalHandler, array $except = [])

Create a new class instance.

from InteractsWithExceptionHandling
void report(Throwable $e)

Report or log an exception.

from InteractsWithExceptionHandling
bool shouldReport(Throwable $e)

Determine if the exception should be reported.

from InteractsWithExceptionHandling
Response render(Request $request, Throwable $e)

Render an exception into an HTTP response.

from InteractsWithExceptionHandling
void renderForConsole(OutputInterface $output, Throwable $e)

Render an exception to the console.

from InteractsWithExceptionHandling
$this withSession(array $data)

Set the session to the given array.

from InteractsWithSession
$this session(array $data)

Set the session to the given array.

from InteractsWithSession
$this startSession()

Start the session for the application.

from InteractsWithSession
$this flushSession()

Flush all of the current session data.

from InteractsWithSession
Wormhole travel(int $value)

Begin travelling to another time.

from InteractsWithTime
mixed travelTo(DateTimeInterface $date, callable|null $callback = null)

Travel to another time.

from InteractsWithTime
DateTimeInterface travelBack()

Travel back to the current time.

from InteractsWithTime
TestView view(string $view, array $data = [])

Create a new TestView from the given view.

from InteractsWithViews
TestView blade(string $template, array $data = [])

Render the contents of the given Blade template string.

from InteractsWithViews
TestView component(string $componentClass, array $data = [])

Render the given view component.

from InteractsWithViews
$this withViewErrors(array $errors, string $key = 'default')

Populate the shared view error bag with the given errors.

from InteractsWithViews
$this expectsEvents(array|string $events)

Specify a list of events that should be fired for the given operation.

from MocksApplicationServices
$this doesntExpectEvents(array|string $events)

Specify a list of events that should not be fired for the given operation.

from MocksApplicationServices
$this withoutEvents()

Mock the event dispatcher so all events are silenced and collected.

from MocksApplicationServices
array getFiredEvents(array $events)

Filter the given events against the fired events.

from MocksApplicationServices
$this expectsJobs(array|string $jobs)

Specify a list of jobs that should be dispatched for the given operation.

from MocksApplicationServices
$this doesntExpectJobs(array|string $jobs)

Specify a list of jobs that should not be dispatched for the given operation.

from MocksApplicationServices
$this withoutJobs()

Mock the job dispatcher so all jobs are silenced and collected.

from MocksApplicationServices
array getDispatchedJobs(array $jobs)

Filter the given jobs against the dispatched jobs.

from MocksApplicationServices
array getDispatched(array $classes, array $dispatched)

Filter the given classes against an array of dispatched classes.

from MocksApplicationServices
bool wasDispatched(string $needle, array $haystack)

Check if the given class exists in an array of dispatched classes.

from MocksApplicationServices
$this withoutNotifications()

Mock the notification dispatcher so all notifications are silenced.

from MocksApplicationServices
$this expectsNotification(mixed $notifiable, string $notification)

Specify a notification that is expected to be dispatched.

from MocksApplicationServices
HttpKernelInterface createApplication()

Creates the application.

void setUp()

Setup the test environment.

void refreshApplication()

Refresh the application instance.

array setUpTraits()

Boot the testing helper traits.

void tearDown()

Clean up the testing environment before the next test.

void afterApplicationCreated(callable $callback)

Register a callback to be run after the application is created.

void beforeApplicationDestroyed(callable $callback)

Register a callback to be run before the application is destroyed.

void callBeforeApplicationDestroyedCallbacks()

Execute the application's pre-destruction callbacks.

Details

protected object swap(string $abstract, object $instance)

Register an instance of an object in the container.

Parameters

string $abstract
object $instance

Return Value

object

protected object instance(string $abstract, object $instance)

Register an instance of an object in the container.

Parameters

string $abstract
object $instance

Return Value

object

protected MockInterface mock(string $abstract, Closure $mock = null)

Mock an instance of an object in the container.

Parameters

string $abstract
Closure $mock

Return Value

MockInterface

protected MockInterface partialMock(string $abstract, Closure $mock = null)

Mock a partial instance of an object in the container.

Parameters

string $abstract
Closure $mock

Return Value

MockInterface

protected MockInterface spy(string $abstract, Closure $mock = null)

Spy an instance of an object in the container.

Parameters

string $abstract
Closure $mock

Return Value

MockInterface

protected $this withoutMix()

Register an empty handler for Laravel Mix in the container.

Return Value

$this

protected $this withMix()

Register an empty handler for Laravel Mix in the container.

Return Value

$this

$this withHeaders(array $headers)

Define additional headers to be sent with the request.

Parameters

array $headers

Return Value

$this

$this withHeader(string $name, string $value)

Add a header to be sent with the request.

Parameters

string $name
string $value

Return Value

$this

$this withToken(string $token, string $type = 'Bearer')

Add an authorization token for the request.

Parameters

string $token
string $type

Return Value

$this

$this flushHeaders()

Flush all the configured headers.

Return Value

$this

$this withServerVariables(array $server)

Define a set of server variables to be sent with the requests.

Parameters

array $server

Return Value

$this

$this withoutMiddleware(string|array|null $middleware = null)

Disable middleware for the test.

Parameters

string|array|null $middleware

Return Value

$this

handle($request, $next)

Parameters

$request
$next

$this actingAs(Authenticatable $user, string|null $driver = null)

Set the currently logged in user for the application.

Parameters

Authenticatable $user
string|null $driver

Return Value

$this

$this be(Authenticatable $user, string|null $driver = null)

Set the currently logged in user for the application.

Parameters

Authenticatable $user
string|null $driver

Return Value

$this

$this assertAuthenticated(string|null $guard = null)

Assert that the user is authenticated.

Parameters

string|null $guard

Return Value

$this

$this assertGuest(string|null $guard = null)

Assert that the user is not authenticated.

Parameters

string|null $guard

Return Value

$this

protected bool isAuthenticated(string|null $guard = null)

Return true if the user is authenticated, false otherwise.

Parameters

string|null $guard

Return Value

bool

$this assertAuthenticatedAs(Authenticatable $user, string|null $guard = null)

Assert that the user is authenticated as the given user.

Parameters

Authenticatable $user
string|null $guard

Return Value

$this

$this assertCredentials(array $credentials, string|null $guard = null)

Assert that the given credentials are valid.

Parameters

array $credentials
string|null $guard

Return Value

$this

$this assertInvalidCredentials(array $credentials, string|null $guard = null)

Assert that the given credentials are invalid.

Parameters

array $credentials
string|null $guard

Return Value

$this

protected bool hasCredentials(array $credentials, string|null $guard = null)

Return true if the credentials are valid, false otherwise.

Parameters

array $credentials
string|null $guard

Return Value

bool

PendingCommand|int artisan(string $command, array $parameters = [])

Call artisan command and return code.

Parameters

string $command
array $parameters

Return Value

PendingCommand|int

protected $this withoutMockingConsoleOutput()

Disable mocking the console output.

Return Value

$this

protected $this assertDatabaseHas(string $table, array $data, string|null $connection = null)

Assert that a given where condition exists in the database.

Parameters

string $table
array $data
string|null $connection

Return Value

$this

protected $this assertDatabaseMissing(string $table, array $data, string|null $connection = null)

Assert that a given where condition does not exist in the database.

Parameters

string $table
array $data
string|null $connection

Return Value

$this

protected $this assertDatabaseCount(string $table, int $count, string|null $connection = null)

Assert the count of table entries.

Parameters

string $table
int $count
string|null $connection

Return Value

$this

protected $this assertDeleted(Model|string $table, array $data = [], string|null $connection = null)

Assert the given record has been deleted.

Parameters

Model|string $table
array $data
string|null $connection

Return Value

$this

protected $this assertSoftDeleted(Model|string $table, array $data = [], string|null $connection = null, string|null $deletedAtColumn = 'deleted_at')

Assert the given record has been "soft deleted".

Parameters

Model|string $table
array $data
string|null $connection
string|null $deletedAtColumn

Return Value

$this

protected bool isSoftDeletableModel(mixed $model)

Determine if the argument is a soft deletable model.

Parameters

mixed $model

Return Value

bool

Expression castAsJson(array|string $value)

Cast a JSON string to a database compatible type.

Parameters

array|string $value

Return Value

Expression

protected Connection getConnection(string|null $connection = null)

Get the database connection.

Parameters

string|null $connection

Return Value

Connection

$this seed(array|string $class = 'Database\\Seeders\\DatabaseSeeder')

Seed a given database connection.

Parameters

array|string $class

Return Value

$this

protected $this withExceptionHandling()

Restore exception handling.

Return Value

$this

protected $this handleExceptions(array $exceptions)

Only handle the given exceptions via the exception handler.

Parameters

array $exceptions

Return Value

$this

protected $this handleValidationExceptions()

Only handle validation exceptions via the exception handler.

Return Value

$this

protected $this withoutExceptionHandling(array $except = [])

Disable exception handling for the test.

Parameters

array $except

Return Value

$this

void __construct(ExceptionHandler $originalHandler, array $except = [])

Create a new class instance.

Parameters

ExceptionHandler $originalHandler
array $except

Return Value

void

void report(Throwable $e)

Report or log an exception.

Parameters

Throwable $e

Return Value

void

Exceptions

Exception

bool shouldReport(Throwable $e)

Determine if the exception should be reported.

Parameters

Throwable $e

Return Value

bool

Response render(Request $request, Throwable $e)

Render an exception into an HTTP response.

Parameters

Request $request
Throwable $e

Return Value

Response

Exceptions

Throwable

void renderForConsole(OutputInterface $output, Throwable $e)

Render an exception to the console.

Parameters

OutputInterface $output
Throwable $e

Return Value

void

$this withSession(array $data)

Set the session to the given array.

Parameters

array $data

Return Value

$this

$this session(array $data)

Set the session to the given array.

Parameters

array $data

Return Value

$this

protected $this startSession()

Start the session for the application.

Return Value

$this

$this flushSession()

Flush all of the current session data.

Return Value

$this

Wormhole travel(int $value)

Begin travelling to another time.

Parameters

int $value

Return Value

Wormhole

mixed travelTo(DateTimeInterface $date, callable|null $callback = null)

Travel to another time.

Parameters

DateTimeInterface $date
callable|null $callback

Return Value

mixed

DateTimeInterface travelBack()

Travel back to the current time.

Return Value

DateTimeInterface

protected TestView view(string $view, array $data = [])

Create a new TestView from the given view.

Parameters

string $view
array $data

Return Value

TestView

protected TestView blade(string $template, array $data = [])

Render the contents of the given Blade template string.

Parameters

string $template
array $data

Return Value

TestView

protected TestView component(string $componentClass, array $data = [])

Render the given view component.

Parameters

string $componentClass
array $data

Return Value

TestView

protected $this withViewErrors(array $errors, string $key = 'default')

Populate the shared view error bag with the given errors.

Parameters

array $errors
string $key

Return Value

$this

$this expectsEvents(array|string $events)

Specify a list of events that should be fired for the given operation.

These events will be mocked, so that handlers will not actually be executed.

Parameters

array|string $events

Return Value

$this

Exceptions

Exception

$this doesntExpectEvents(array|string $events)

Specify a list of events that should not be fired for the given operation.

These events will be mocked, so that handlers will not actually be executed.

Parameters

array|string $events

Return Value

$this

protected $this withoutEvents()

Mock the event dispatcher so all events are silenced and collected.

Return Value

$this

protected array getFiredEvents(array $events)

Filter the given events against the fired events.

Parameters

array $events

Return Value

array

protected $this expectsJobs(array|string $jobs)

Specify a list of jobs that should be dispatched for the given operation.

These jobs will be mocked, so that handlers will not actually be executed.

Parameters

array|string $jobs

Return Value

$this

protected $this doesntExpectJobs(array|string $jobs)

Specify a list of jobs that should not be dispatched for the given operation.

These jobs will be mocked, so that handlers will not actually be executed.

Parameters

array|string $jobs

Return Value

$this

protected $this withoutJobs()

Mock the job dispatcher so all jobs are silenced and collected.

Return Value

$this

protected array getDispatchedJobs(array $jobs)

Filter the given jobs against the dispatched jobs.

Parameters

array $jobs

Return Value

array

protected array getDispatched(array $classes, array $dispatched)

Filter the given classes against an array of dispatched classes.

Parameters

array $classes
array $dispatched

Return Value

array

protected bool wasDispatched(string $needle, array $haystack)

Check if the given class exists in an array of dispatched classes.

Parameters

string $needle
array $haystack

Return Value

bool

protected $this withoutNotifications()

Mock the notification dispatcher so all notifications are silenced.

Return Value

$this

protected $this expectsNotification(mixed $notifiable, string $notification)

Specify a notification that is expected to be dispatched.

Parameters

mixed $notifiable
string $notification

Return Value

$this

abstract HttpKernelInterface createApplication()

Creates the application.

Needs to be implemented by subclasses.

Return Value

HttpKernelInterface

protected void setUp()

Setup the test environment.

Return Value

void

protected void refreshApplication()

Refresh the application instance.

Return Value

void

protected array setUpTraits()

Boot the testing helper traits.

Return Value

array

protected void tearDown()

Clean up the testing environment before the next test.

Return Value

void

Exceptions

InvalidCountException

void afterApplicationCreated(callable $callback)

Register a callback to be run after the application is created.

Parameters

callable $callback

Return Value

void

protected void beforeApplicationDestroyed(callable $callback)

Register a callback to be run before the application is destroyed.

Parameters

callable $callback

Return Value

void

protected void callBeforeApplicationDestroyedCallbacks()

Execute the application's pre-destruction callbacks.

Return Value

void

© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/8.x/Illuminate/Foundation/Testing/TestCase.html