簡體   English   中英

使用javascript在laravel中進行Behat測試 - 不使用測試環境

[英]Behat testing in laravel with javascript - not using test environment

我有一個使用Behat進行驗收測試的Laravel 5項目。 我也在Homestead Vagrant盒子里運行它。

我的網站中有一個使用Javascript的頁面,我正在使用帶有幻像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文件中指定)。

感謝您的任何幫助!

為了在測試Javascript應用程序時保留Behat的測試環境,您可以使用BehatLaravelJs包作為Behat的Laravel擴展的伴侶。

除了保留環境之外,它還在使用瀏覽器模擬器測試Javascript應用程序時解決了身份驗證和數據庫事務等其他限制。

Web服務器在命令行中設置的環境變量在單獨的進程中運行時不可見。

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

  • 在單獨的測試前端控制器中設置測試環境。
  • 在單獨的測試虛擬主機中設置測試環境。

在這兩種情況下,您都需要更新behat.ymlbase_url

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM