krzysztofrewak / larahat
Extremly simple Laravel Behat extension
Installs: 1 194
Dependents: 0
Suggesters: 0
Security: 0
Stars: 4
Watchers: 2
Forks: 0
Open Issues: 0
Requires
- php: ^7.4.4|^8.0
- behat/behat: ^3.8
- symfony/http-foundation: ^5.2
This package is auto-updated.
Last update: 2024-12-23 22:12:01 UTC
README
Larahat extension is an extremely simple way to start behaviour-driven development with Laravel framework and Behat.
Installation
Just use composer, it will add required classes to your vendor
directory at Larahat
namespace:
composer require krzysztofrewak/larahat --dev
Usage
Locate your Behat configuration file (usually it's a behat.yml
) and add Larahat\BehatExtension
to your extensions
list. You can also provide a custom .env
filename via env
variable, but by default it will be always .env.behat
.
default: extensions: KrzysztofRewak\Larahat\BehatExtension: env: ".env.behat"
From now, in your context files you are able to use app()
helper for retrieving your bootstrapped Laravel application. For example, you can handle requests directly into your application like that:
/** * @When :method request is sent to :endpoint endpoint * @param string $method * @param string $endpoint */ public function requestIsSentToEndpoint(string $method, string $endpoint): void { $request = Request::create($endpoint, $method); app()->handle($request); }
Helpers
KrzysztofRewak\Larahat\Helpers\DisablingThrottling
trait added to your context helps with disabling throttling middleware;KrzysztofRewak\Larahat\Helpers\RefreshDatabase
trait added to your context helps with refreshing database with every scenario;KrzysztofRewak\Larahat\Helpers\SimpleRequesting
trait added to your context helps with sending requests and receiving responses from your application.
Development
You can use Composer in a container if you want to:
docker-compose run -w /application -u "$(id -u):$(id -g)" composer install