Estoy escribiendo pruebas funcionales para los módulos de aplicaciones back-end de mis proyectos. Para probar algunas características, necesito simular las acciones del usuario desde la aplicación frontend. Por lo tanto, he creado 2Symfony: múltiples aplicaciones en una prueba
sfTestFunctional instances:
$frontendBrowser = new frontendTestFunctional();
$backendBrowser = new backendTestFunctional();
Estas clases básicamente heredan de sfTestFunctional. Ahora, como sabemos, cada aplicación en Symfony tiene su propia instancia de contexto, así que tenemos que cambiar a ella en primer lugar:
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');
Por lo tanto, el problema es que ambas páginas tienen sus propias clases con el mismo nombre (homeComponents) que obviamente no se puede incluir en un script. ¿Hay algo que pueda hacer al respecto?
PS, la cuestión no se relaciona necesariamente con Symfony, por lo que también MÁRQUELO 'php'
actualización: Parece que la única solución es cambiar el nombre de todos los módulos en una sola aplicación, por lo que las clases de acción y componentes tienen diferentes nombres. Pero esto es muy complicado.
¿por qué no ejecutar ambas pruebas de a una por vez? – Ibu
porque es posible que necesite algunos resultados de una aplicación al probar la otra. – Dziamid
luego puede crear un script de shell para ejecutarlos – Ibu