Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel 5.2:设置测试应用程序_Php_Behat_Homestead_Mink_Laravel 5.2 - Fatal编程技术网

Php Laravel 5.2:设置测试应用程序

Php Laravel 5.2:设置测试应用程序,php,behat,homestead,mink,laravel-5.2,Php,Behat,Homestead,Mink,Laravel 5.2,为了进行测试,我需要使用另一个数据库,而不是本地环境中的数据库 我在开发流程中使用homestead和Laravel 5.2+Behat3+水貂 当我从主机运行behat时,它正常-变量设置为APP\u ENV=testing 但是我在设置测试环境时遇到了一个问题,在homestead机器内部执行同样的操作时:APP_ENV总是本地的 对于测试环境(APP_ENV),我修改了标准welcome.blade.php下一步: - <div class="title">Laravel 5&

为了进行测试,我需要使用另一个数据库,而不是
本地
环境中的数据库

我在开发流程中使用homestead和Laravel 5.2+Behat3+水貂

当我从主机运行behat时,它正常-变量设置为
APP\u ENV=testing

但是我在设置
测试环境时遇到了一个问题,在homestead机器内部执行同样的操作时:
APP_ENV
总是
本地的

  • 对于测试环境(
    APP_ENV
    ),我修改了标准
    welcome.blade.php
    下一步:

    - <div class="title">Laravel 5</div>
    + <div class="title">Laravel 5 ({!! app()->environment() !!})</div>
    
  • .env.behat
    中的我的测试环境变量:

    APP_ENV=testing
    APP_DEBUG=true
    DB_CONNECTION=sqlite
    
  • 我建立了我的家。功能:

    Feature: Check home page
      In order to verify home page
      As a user
      I need to see text Laravel and an environment name
    
      @home
      Scenario: Home Page
        Given I am on the homepage
        Then I should see "Laravel 5 (testing)"
    
  • 因此,当我运行behat时,我会看到
    Laravel 5(本地)
    ,但不会看到
    Laravel 5(测试)
    文本:

        Feature: Check home page
          In order to verify home page
          As a user
          I need to see Laravel text
    
          @home
          Scenario: Home Page                       # features/home.feature:7
            Given I am on the homepage              # FeatureContext::iAmOnHomepage()
            Then I should see "Laravel 5 (testing)" # FeatureContext::assertPageContainsText()
              The text "Laravel 5 (testing)" was not found anywhere in the text of the current page. (Behat\Mink\Exception\ResponseTextException)
    
        --- Failed scenarios:
    
            features/home.feature:7
    
        1 scenario (1 failed)
    

    我在配置中遗漏了什么,或者关于自定义设置Laravel配置我应该知道什么?

    我不知道是否是这样,但请确保在您的
    家园中。yaml
    您没有:

    variables:
        - key: APP_ENV
          value: local
    

    如果您这样做了,请删除它,然后您可以尝试配置您的虚拟机,但很可能您需要销毁它(您应该首先备份所有内容,例如数据库等),并在从文件中删除后重新创建。

    太棒了!你的解决方案有效。实际上,我在我的家里有变量配置。所以我把它搬走了,并为宅地做了准备。现在所有的测试都通过了。非常感谢。很高兴我能帮忙。如果所有的问题都能这么容易解决就好了:)哦,是的,你是对的:-)我希望你能快速轻松地解决你的任务。
    variables:
        - key: APP_ENV
          value: local