goez / behat-laravel-extension
此包已被弃用,不再维护。没有推荐替代包。
增强Laracasts Behat Laravel Extension
0.1.0
2015-08-06 06:04 UTC
Requires
- behat/mink-extension: ^2.0
- illuminate/contracts: ~5.1
- laracasts/behat-laravel-extension: ~1.0
- mockery/mockery: ^0.9.4
- phpunit/phpunit: ~4.7
- symfony/http-kernel: ~2.6
Requires (Dev)
- phpspec/phpspec: ~2.1
This package is auto-updated.
Last update: 2018-10-31 08:36:47 UTC
README
我喜欢用Behat方式开发Laravel应用。有了Laracasts的Behat Laravel Extension,我的梦想成真了。
在我升级到Laravel 5.1之后,我爱上了新测试框架中的测试方法,如seeInDatabase
或新测试框架中的be
,但我在Behat上下文类中无法使用它们。
因此,我将Behat-Laravel-Extension和Laravel测试框架结合起来,制作了这个扩展。
扩展做了什么?
此扩展提供两个特性
- 您可以在Behat上下文类中使用Laravel测试的API。例如
/** * @Given a user whose name is :name * @param $name */ public function aUserWhoseNameIs($name) { $this->user = factory(App\User::class)->create([ 'name' => $name, ]); $this->seeInDatabase('users', [ 'name' => $this->user->name, ]); } /** * @When user attempts to sign in */ public function userAttemptsToSignIn() { $this->be($this->user); }
seeInDatabase
、be
和其他测试方法由Illuminate\Foundation\Testing\ApplicationTrait
提供,并且只能在PHPUnit测试用例中使用,但现在您可以在Behat上下文类中使用它们。
- 您可以直接使用由
PHPUnit_Framework_Assert
提供的assert*
方法。例如
/** * @Then user should be sign in */ public function userShouldBeSignIn() { $this->assertTrue(Auth::check()); }
此扩展仍在开发中。如果您有任何问题,请告诉我。
安装
- 通过composer安装此扩展
composer require goez/behat-laravel-extension
- 在您的
behat.yml
中添加此扩展和mink扩展
default: extensions: Goez\BehatLaravelExtension: Behat\MinkExtension: default_session: laravel laravel: ~
- 让您的上下文类继承自
Goez\BehatLaravelExtension\Context\LaravelContext
类
use Goez\BehatLaravelExtension\Context\LaravelContext; class FeatureContext extends LaravelContext { // ... }
许可证
MIT