Cerchiamo di essere chiari, soprattutto per nubes che possono essere lettura di questo post: RAILS_ENV=production
(localmente) non è lo stesso di di prova in esecuzione "nell'ambiente production
." So che tu (OP) lo sai, ma il pericolo di eseguire test nell'ambiente di produzione garantisce questo avvertimento.
Ci sono molte ragioni per solo eseguiti in test
ENV, in genere relativi al trattamento dei DB:
- Rspec costruisce una 'versione' personalizzata dei dati nel DB, ed opera su quella, persistendo alcune modifiche sul disco.
- Molti test cancellano i dati esistenti, verso la fine dell'isolamento del test e rendono le cose idempotenti. Ciò potrebbe riassorbire i dati che stai utilizzando per gli edifici in prova.
altri motivi sono lungo le linee che hai ipotizzato già:
- vostro ambiente prod non dovrebbe includere le gemme che vengono utilizzati per il test. Perché ?:
- gemme test aggiungere più codice che potrebbe essere necessario ot lod & corsa, inutilmente, in app dal vivo
- gemme di test relativi possono introdurre i buchi di sicurezza nella vostra applicazione di produzione.
- alcune attività potrebbero non essere testate correttamente dopo essere state "compilate".
- Le risorse e altri precompilatori deploy-pipe-line possono essere gestiti in modo diverso/disattivato/ecc., Al servizio del processo di test.
- Determinate API e servizi possono essere sandboxed o stub in test/staging, ad esempio chiamate API a servizi pay-per-use, come email o report.
Le possibilità sono troppo personalizzati (per la vostra applicazione) per suggerire un best-practice ... ma, inutile dirlo, ci sono molte impostazioni 'modalità test' che possono avere bisogno di configurazione quando rails_ENV=test
fonte
2012-09-17 14:43:41
Penso che la maggior parte delle persone userebbe il termine "integrità" dei dati piuttosto che "sicurezza". La sicurezza implica generalmente un'alterazione [maligna] da parte di una parte esterna. –
@NewAlexandria Good point – rudolph9
[This] (http://stackoverflow.com/questions/8607680/using-cucumber-rspec-in-a-production-environment) [is] (http://stackoverflow.com/questions/ 6200931/passeggero-misses-sviluppo-gem-in-production-environment) [un comune] (http://stackoverflow.com/questions/7432099/rails-testing-production) [problema] (http://stackoverflow.com)/questions/11644233/discussion-is-rspec-for-test-environment), che [ha qualche contesto su SO] (http://stackoverflow.com/search?q=rspec+production+environment&submit=search) –