我正在为我的项目的后端应用程序模块写作功能测试。为了测试一些功能,我需要从前端应用程序模拟用户操作。所以,我创建了2Symfony:一个测试中的多个应用程序
sfTestFunctional instances:
$frontendBrowser = new frontendTestFunctional();
$backendBrowser = new backendTestFunctional();
这些类基本上继承自sfTestFunctional。现在,我们知道,symfony的每个应用程序都有自己的上下文实例,所以我们必须先切换到它:
sfContext::switchTo('frontend');
//this works fine
$frontendBrowser->
get('/home');
sfContext::switchTo('backend');
//the following fails with a misirable error: Cannot redeclare class homeComponents
$backendBrowser->
get('/home');
那么,问题是,这两个页面具有相同的名称自己的类(homeComponents )显然不能包含在一个脚本中。有什么我可以做的吗?
PS的问题不一定Symfony的关系,所以我也将其标记为“PHP”
更新:似乎是唯一的解决办法是在一个应用程序中所有的模块重命名,使动作和组件类有不同名。但这是非常重要的。
为什么不一次只运行两个测试? – Ibu 2011-06-07 08:32:30
,因为在测试其他应用时,您可能需要从一个应用获得一些结果。 – Dziamid 2011-06-07 11:50:14
然后你可以创建一个shell脚本来运行它们 – Ibu 2011-06-07 15:45:28