Uso i motori Rails per suddividere una grande app in parti più piccole. L'app principale gestisce principalmente utenti e autenticazione.
In uno dei miei test motore, voglio accedere a un utente prima di ogni test. Come devo accedere a questa funzionalità di accesso utente, che esiste nell'app padre, dal motore?
Sembra che ci siano due opzioni:
1) Costruisci l'autenticazione dell'utente nell'app fittizia. Quando esegui rails plugin new app_name --mountable
, nella tua cartella di test viene creata una "app fittizia", solo una semplice app Rails. Durante i test il motore è montato su questa app fittizia. Per i test di funzionalità (integrazione, accettazione, what-have-you), ho pensato che sarebbe stato utile utilizzare oggetti reali quando possibile. Quindi stavo progettando di utilizzare una fabbrica per creare un utente reale e quindi accedere a quell'utente. Per fare ciò con l'app fittizia, avrei bisogno di costruire quella funzionalità utente in.
Questo sembra un problema perché se la vera app padre cambia, devo cambiare anche questa app fittizia.
2) Metti tutti i miei test nell'app genitore. Questo funzionerà bene, penso, ma sembra strano. Mi sento come se dovessi mettere i miei test del motore nel motore.