goez/behat-laravel-extension

此包已被弃用,不再维护。没有推荐替代包。

增强Laracasts Behat Laravel Extension

0.1.0 2015-08-06 06:04 UTC

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测试框架结合起来,制作了这个扩展。

扩展做了什么?

此扩展提供两个特性

  1. 您可以在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);
   }

seeInDatabasebe和其他测试方法由Illuminate\Foundation\Testing\ApplicationTrait提供,并且只能在PHPUnit测试用例中使用,但现在您可以在Behat上下文类中使用它们。

  1. 您可以直接使用由PHPUnit_Framework_Assert提供的assert*方法。例如
   /**
    * @Then user should be sign in
    */
   public function userShouldBeSignIn()
   {
       $this->assertTrue(Auth::check());
   }

此扩展仍在开发中。如果您有任何问题,请告诉我。

安装

  1. 通过composer安装此扩展
composer require goez/behat-laravel-extension
  1. 在您的behat.yml中添加此扩展和mink扩展
default:
    extensions:
        Goez\BehatLaravelExtension:
        Behat\MinkExtension:
            default_session: laravel
            laravel: ~
  1. 让您的上下文类继承自Goez\BehatLaravelExtension\Context\LaravelContext
use Goez\BehatLaravelExtension\Context\LaravelContext;

class FeatureContext extends LaravelContext
{
    // ...
}

许可证

MIT