Package Data | |
---|---|
Maintainer Username: | albertcht |
Maintainer Contact: | albert.cht@gmail.com (Albert Chen) |
Package Create Date: | 2017-12-30 |
Package Last Update: | 2020-10-14 |
Home Page: | |
Language: | PHP |
License: | MIT |
Last Refreshed: | 2024-12-15 15:10:25 |
Package Statistics | |
---|---|
Total Downloads: | 32,386 |
Monthly Downloads: | 348 |
Daily Downloads: | 0 |
Total Stars: | 43 |
Total Watchers: | 5 |
Total Forks: | 24 |
Total Open Issues: | 8 |
A testing suite for Lumen like Laravel does.
composer require --dev albertcht/lumen-testing
AlbertCht\Lumen\Testing\TestCase
You're all done! Enjoy your testing like in Laravel!
There are some traits you can use in your test case (including original ones in Lumen):
AlbertCht\Lumen\Testing\Concerns\RefreshDatabase
AlbertCht\Lumen\Testing\Concerns\WithFaker
AlbertCht\Lumen\Testing\Concerns\InteractsWithRedis
Laravel\Lumen\Testing\DatabaseMigrations
Laravel\Lumen\Testing\DatabaseTransactions
Laravel\Lumen\Testing\WithoutMiddleware
Laravel\Lumen\Testing\WithoutEvents
RefreshDatabase
=DatabaseMigrations
+DatabaseTransactions
, so if you useRefreshDatabase
, you don't need to use the other two traits anymore.
Laravel provides a variety of custom assertion methods for your PHPUnit tests. These assertions may be accessed on the response that is returned from the json
, get
, post
, put
, and delete
test methods:
Method | Description
------------- | -------------
$response->assertSuccessful();
| Assert that the response has a successful status code.
$response->assertStatus($code);
| Assert that the response has a given code.
$response->assertRedirect($uri);
| Assert that the response is a redirect to a given URI.
$response->assertHeader($headerName, $value = null);
| Assert that the given header is not present on the response.
$response->assertHeaderMissing($headerName);
| Assert that the given header is present on the response.
$response->assertCookie($cookieName, $value = null);
| Assert that the response contains the given cookie.
$response->assertPlainCookie($cookieName, $value = null);
| Assert that the response contains the given cookie (unencrypted).
$response->assertCookieExpired($cookieName);
| Assert that the response contains the given cookie and it is expired.
$response->assertCookieNotExpired($cookieName);
| Assert that the response contains the given cookie and it is not expired.
$response->assertCookieMissing($cookieName);
| Assert that the response does not contains the given cookie.
$response->assertJson(array $data);
| Assert that the response contains the given JSON data.
$response->assertJsonCount(int $count, $key = null);
| Assert that the response JSON has the expected count of items at the given key.
$response->assertJsonFragment(array $data);
| Assert that the response contains the given JSON fragment.
$response->assertJsonMissing(array $data);
| Assert that the response does not contain the given JSON fragment.
$response->assertJsonMissingExact(array $data);
| Assert that the response does not contain the exact JSON fragment.
$response->assertExactJson(array $data);
| Assert that the response contains an exact match of the given JSON data.
$response->assertJsonStructure(array $structure);
| Assert that the response has a given JSON structure.
$response->assertJsonValidationErrors($keys);
| Assert that the response has the given JSON validation errors for the given keys.
$response->assertViewIs($value);
| Assert that the given view was returned by the route.
$response->assertViewHas($key, $value = null);
| Assert that the response view was given a piece of data.
$response->assertViewHasAll(array $data);
| Assert that the response view has a given list of data.
$response->assertViewMissing($key);
| Assert that the response view is missing a piece of bound data.
$response->assertSee($value);
| Assert that the given string is contained within the response.
$response->assertDontSee($value);
| Assert that the given string is not contained within the response.
$response->assertSeeText($value);
| Assert that the given string is contained within the response text.
$response->assertDontSeeText($value);
| Assert that the given string is not contained within the response text.
$response->assertSeeInOrder(array $values);
| Assert that the given strings are contained in order within the response.
$response->assertSeeTextInOrder(array $values);
| Assert that the given strings are contained in order within the response text.
Laravel also provides a variety of authentication related assertions for your PHPUnit tests:
Method | Description
------------- | -------------
$this->assertAuthenticated($guard = null);
| Assert that the user is authenticated.
$this->assertGuest($guard = null);
| Assert that the user is not authenticated.
$this->assertAuthenticatedAs($user, $guard = null);
| Assert that the given user is authenticated.
$this->assertCredentials(array $credentials, $guard = null);
| Assert that the given credentials are valid.
$this->assertInvalidCredentials(array $credentials, $guard = null);
| Assert that the given credentials are invalid.
Laravel provides several database assertions for your PHPUnit tests:
Method | Description
------------- | -------------
$this->assertDatabaseHas($table, array $data);
| Assert that a table in the database contains the given data.
$this->assertDatabaseMissing($table, array $data);
| Assert that a table in the database does not contain the given data.
$this->assertSoftDeleted($table, array $data);
| Assert that the given record has been soft deleted.
See full document at Laravel's doc:
Hey dude! Help me out for a couple of :beers:!