Php 是否可以在存储库外部存储Codeception的功能/验收配置URL?
我有一个带有Codeception的PHP项目,有几个开发人员正在进行开发。每个人都有自己的环境和指向项目副本的不同URL。但在Codeception Functional/Acceptance yml配置文件中,我们必须为验收和功能测试设置URL 我们如何能够有不同的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
先谢谢你 解决这个问题的一种方法是查看
$\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包含重复的行,应该可以简化,我已经尝试通过在globalmodules
中删除重复行来简化,但似乎对我不起作用
因此,我让您看到上面的配置,并且我已经为它创建了配置,但是仍然想知道是否有人让这个覆盖
工作
我希望这对任何人都有帮助。嗨@karma\u警察局。我一点也不明白!抱歉,如果我理解错误,您想在本地项目中使用存储库配置吗?或者本地配置远程项目?谢谢,这是一种可能的方式,但我们总是必须在每次测试中重新定义
BASE\u URL
。我仍然希望通过codeception environments files@karma_police有更好的孤独感,通过将BASE_URL
的定义放在引导文件中,您只需定义一次,就可以在每次测试中使用它。