Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.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
使用javascript在laravel中进行行为测试-不使用测试环境_Javascript_Php_Laravel_Selenium_Behat - Fatal编程技术网

使用javascript在laravel中进行行为测试-不使用测试环境

使用javascript在laravel中进行行为测试-不使用测试环境,javascript,php,laravel,selenium,behat,Javascript,Php,Laravel,Selenium,Behat,我有一个使用Behat进行验收测试的Laravel 5项目。我还在一个宅地流浪者的盒子里运行这个 我在我的网站上有一个使用Javascript的页面,我正在使用带有phantom js的Selenim2驱动程序。硒似乎很有效。问题是,当我运行测试时,它使用开发数据库而不是测试数据库。这是我的.env.behat文件: APP_ENV=acceptance APP_DEBUG=true DB_TYPE=sqlite DB_PATH=acceptance.sqlite 这是我的behat.yml

我有一个使用Behat进行验收测试的Laravel 5项目。我还在一个宅地流浪者的盒子里运行这个

我在我的网站上有一个使用Javascript的页面,我正在使用带有phantom js的Selenim2驱动程序。硒似乎很有效。问题是,当我运行测试时,它使用开发数据库而不是测试数据库。这是我的
.env.behat
文件:

APP_ENV=acceptance
APP_DEBUG=true

DB_TYPE=sqlite
DB_PATH=acceptance.sqlite
这是我的
behat.yml
文件

default:
    extensions:
        Laracasts\Behat: ~
#            env_path: .env.behat
        Behat\MinkExtension:
            default_session: laravel
            laravel: ~
            javascript_session: selenium2
            base_url: http://127.0.0.1/
            selenium2:
                wd_host: "http://localhost:8643/wd/hub"
            selenium2: ~
当我运行不使用javascript的场景时,它会使用我的测试数据库(如
.env.behat
文件中指定的)


感谢您的帮助!

在命令行中设置的环境变量在web服务器上不可见,因为它在单独的进程中运行

您可以执行以下任一操作:

  • 在单独的测试前端控制器中设置测试环境
  • 在单独的测试虚拟主机中设置测试环境
在这两种情况下,您都需要更新
behat.yml
中的
base\u url

default:
    extensions:
        Behat\MinkExtension:
            base_url: http://127.0.0.1/app_test.php

为了在测试Javascript应用程序时保留Behat的测试环境,您可以将该包作为Behat的Laravel扩展的配套

除了保护环境,它还解决了使用浏览器模拟器测试Javascript应用程序时的其他限制,如身份验证和数据库事务