Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.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 是否可以在存储库外部存储Codeception的功能/验收配置URL?_Php_Git_Functional Testing_Codeception - Fatal编程技术网

Php 是否可以在存储库外部存储Codeception的功能/验收配置URL?

Php 是否可以在存储库外部存储Codeception的功能/验收配置URL?,php,git,functional-testing,codeception,Php,Git,Functional Testing,Codeception,我有一个带有Codeception的PHP项目,有几个开发人员正在进行开发。每个人都有自己的环境和指向项目副本的不同URL。但在Codeception Functional/Acceptance yml配置文件中,我们必须为验收和功能测试设置URL 我们如何能够有不同的URL来进行项目,并且在存储库中有配置的主要部分? 先谢谢你 解决这个问题的一种方法是查看$\u SERVER['HOSTNAME']值,并从中选择适当的url。我目前在我的tests/acceptance/\u bootstra

我有一个带有Codeception的PHP项目,有几个开发人员正在进行开发。每个人都有自己的环境和指向项目副本的不同URL。但在Codeception Functional/Acceptance yml配置文件中,我们必须为验收和功能测试设置URL

我们如何能够有不同的URL来进行项目,并且在存储库中有配置的主要部分?
先谢谢你

解决这个问题的一种方法是查看
$\u SERVER['HOSTNAME']
值,并从中选择适当的url。我目前在我的
tests/acceptance/\u bootstrap.php

switch($_SERVER['HOSTNAME'])
{
  case 'dev1':
    $base_url = 'http://www.example.com.dev1';
    break;
  default:
    $base_url = 'http://www.example.com';
    break;
}
define("BASE_URL",$base_url);
然后可以在测试中使用该常数

$I = new AcceptanceTester($scenario);
$I->wantTo('ensure that the a user can log in');
$I->amOnUrl(BASE_URL . "/home");

我也有同样的问题。我问了同样的问题。我使用了
--environment
选项来实现这个功能

以下是配置示例:

class_name: FunctionalTester
modules:
    enabled:
        # add framework module here
        - Yii1
        - \Helper\Functional
        - PhpBrowser
        - Db
    config:
        Yii1:
            appPath: '/Volumes/disk0s4/www/new-proj/trunk/test.php'
            url: 'https://my.proj.local/test.php'
        PhpBrowser:
            url: 'https://my.proj.didin/'
        Db:
            dsn: 'mysql:host=127.0.0.1;dbname=test-proj-new'
            user: 'root'
            password: 'root'
env:
    my_env:
       modules:
            enabled:
                - Yii1
                - \Helper\Functional
            config:
                Yii1:
                     appPath: 'path to index.php of my environment'
                     url: 'http://my.local/test.php'
    production_env:
       modules:
            enabled:
                - Yii1
                - \Helper\Functional
            config:
                Yii1:
                     appPath: 'path to index.php of production environment'
                     url: 'http://my.local.com/test.php'
我知道config包含重复的行,应该可以简化,我已经尝试通过在global
modules
中删除重复行来简化,但似乎对我不起作用

因此,我让您看到上面的配置,并且我已经为它创建了配置,但是仍然想知道是否有人让这个
覆盖
工作


我希望这对任何人都有帮助。

嗨@karma\u警察局。我一点也不明白!抱歉,如果我理解错误,您想在本地项目中使用存储库配置吗?或者本地配置远程项目?谢谢,这是一种可能的方式,但我们总是必须在每次测试中重新定义
BASE\u URL
。我仍然希望通过codeception environments files@karma_police有更好的孤独感,通过将
BASE_URL
的定义放在引导文件中,您只需定义一次,就可以在每次测试中使用它。