aedart / testing-laravel
Utilities that allows you to test Laravel dependent packages. At its core, this package is a wrapper for the Orchestral Testbench. However, you can make use of this with whatever testing framework you wish; it does not impose you to use neither Orchestral's nor Laravel's TestCase classes.
Requires
- php: >=7.1.0
- aedart/testing: ~2.2
- orchestra/testbench: 3.6.*
Requires (Dev)
- aedart/license: 1.*
- aedart/license-file-manager: ~2.0
README
Deprecated - Testing-Laravel
Package has been replaced by aedart/athenaeum
Utilities that allows you to test Laravel dependent packages. At its core, this package is a wrapper for the Orchestral Testbench. However, you can make use of this with whatever testing framework you wish; it does not force you to use neither Orchestral's nor Laravel's TestCase classes.
Contents
- When to use this
- How to install
- For Orchestral Testbench version 3.6.x / Laravel 5.6.x
- For Orchestral Testbench version 3.5.x / Laravel 5.5.x
- For Orchestral Testbench version 3.4.x / Laravel 5.4.x
- For Orchestral Testbench version 3.3.x / Laravel 5.3.x
- For Orchestral Testbench version 3.2.x / Laravel 5.2.x
- For Laravel 5.1 and previous versions
- Quick start
- Contribution
- Acknowledgement
- Versioning
- License
When to use this
When you wish to test Laravel specific components and packages
How to install
For Orchestral Testbench version 3.6.x / Laravel 5.6.x
composer require aedart/testing-laravel 4.*
For Orchestral Testbench version 3.5.x / Laravel 5.5.x
composer require aedart/testing-laravel 3.*
Note: This package requires php version 7.1 or higher
For Orchestral Testbench version 3.4.x / Laravel 5.4.x
composer require aedart/testing-laravel 2.*
For Orchestral Testbench version 3.3.x / Laravel 5.3.x
composer require aedart/testing-laravel 1.8.*
For Orchestral Testbench version 3.2.x / Laravel 5.2.x
composer require aedart/testing-laravel 1.7.*
For Laravel 5.1 and previous versions
Not supported
This package uses composer. If you do not know what that is or how it works, I recommend that you read a little about, before attempting to use this package.
Quick start
Assumptions / Prerequisite
You have some experience using Laravel
You are using some kind of PHP unit test framework, e.g. PHPUnit, Codeception, ...etc
Helper
In the below stated example, a codeception's unit test (extends PHP Unit) is being used
<?php use Aedart\Testing\Laravel\Traits\TestHelperTrait; class MyUnitTest extends \Codeception\TestCase\Test { use TestHelperTrait; /** * @var \UnitTester */ protected $tester; protected function _before(){ // Start the Laravel application $this->startApplication(); } protected function _after(){ // Stop the Laravel application $this->stopApplication(); } /** * @test */ public function readSomethingFromConfig(){ // Calling config, using Laravel defined helper method $defaultDbDriver = config('database.default'); $this->assertSame('mysql', $defaultDbDriver); } /** * @test */ public function readSomethingElseFromConfig(){ // Get the application instance $app = $this->getApplication(); $queueDriver = $app['config']['queue.default']; $this->assertSame('sync', $queueDriver); } // ... Remaining not shown ... // }
Contribution
Have you found a defect ( bug or design flaw ), or do you wish improvements? In the following sections, you might find some useful information on how you can help this project. In any case, I thank you for taking the time to help me improve this project's deliverables and overall quality.
Bug Report
If you are convinced that you have found a bug, then at the very least you should create a new issue. In that given issue, you should as a minimum describe the following;
- Where is the defect located
- A good, short and precise description of the defect (Why is it a defect)
- How to replicate the defect
- (A possible solution for how to resolve the defect)
When time permits it, I will review your issue and take action upon it.
Fork, code and send pull-request
A good and well written bug report can help me a lot. Nevertheless, if you can or wish to resolve the defect by yourself, here is how you can do so;
- Fork this project
- Create a new local development branch for the given defect-fix
- Write your code / changes
- Create executable test-cases (prove that your changes are solid!)
- Commit and push your changes to your fork-repository
- Send a pull-request with your changes
- Drink a Beer - you earned it :)
As soon as I receive the pull-request (and have time for it), I will review your changes and merge them into this project. If not, I will inform you why I choose not to.
Acknowledgement
Mior Muhammad Zaki for a good alternative way of testing Laravel specific components and packages.
Taylor Otwell et al. for one of the best PHP frameworks ever created.
Versioning
This package follows Semantic Versioning 2.0.0
License
BSD-3-Clause, Read the LICENSE file included in this package