我有一个Symfony 2应用程序,它使用REST interace。我想执行不同环境下的集成测试。测试应该被执行:如何拥有不同配置的多个测试环境?
- 无论是对一个真正的接口(一个特定的主机上运行)
- 或针对样机接口(在本地主机上运行)。
如何指定执行哪个测试环境?目前我开始使用
phpunit -c app/
从应用程序文件夹中。但是我不想复制应用程序文件夹。
更新
具体来说,我有一个REST服务,这是负责doint REST调用,让我们称之为RestBase
。在某个时候,它会建立一个URL:$urlPrefix.$restPath
。 $urlPrefix
对于dev
,stage
,prod
环境是不同的。目前该配置在config_*.yml
中完成。但是我想对不同的urlPrefix
进行测试。从概念上讲我想有这样的:
phpunit -c app/ **-env=test**
其中urlPrefix
是http://localhost:8888
和
phpunit -c app/ **-env=test2**
对另一另一个环境中运行,与urlPrefix
不同的设置。
汇总问题
如何在另一个环境中执行测试比test
,例如test2
(而不是以编程方式更改)?
这很清楚。如何基于测试环境创建一个url前缀?例如:'$ this-> container-> getParameter(“urlPrefix”)。“/ api/va1/test”'。 – Chris 2012-03-05 10:24:22
请注意,我很清楚,一般情况下如何为'urlPrefix'设置不同的值。我的问题是如何使用不同的测试环境,即如何在'test'之外的其他环境中执行测试,例如'test2'。 – Chris 2012-03-05 10:34:16
只需添加一个选项数组:'$ client = static :: createClient(array('environment'=>'test2'));' – Florian 2012-03-05 13:31:49