Sto usando 'vele-memoria' come database per i miei test di unità Sails e idealmente vorrei cancellare l'intero database dopo i singoli test. C'è un modo per eliminare l'intero database?Eliminare l'intero database delle vele-memoria?
9
A
risposta
2
È possibile sollevare l'app vele prima di ogni test, ricostruendo il database (migrate: 'drop'
). Ecco un esempio:
Sails = require('sails/lib/app');
app = Sails();
var testConfig = {
environment: 'test',
port: 1337,
log: {
level: 'error'
},
connections: {
testDB: {
adapter: 'sails-memory'
}
},
connection: 'testDB',
//wipe/drop ALL my data and rebuild models every time
migrate: 'drop'
};
beforeEach(function (done) {
// start sails app for tests
app.lift(testConfig, function (err, sails) {
done(err);
});
});
//tests...
7
Ho trovato un altro metodo che sembra funzionare. Questo emette un evento che dice al gancio orm di ricaricare prima di ogni test. Se si utilizza la memoria db, o il disco db con l'opzione di migrazione "drop", ottiene il desiderato.
beforeEach((done) => {
"use strict";
// Drops database between each test. This works because we use
// the memory database
sails.once('hook:orm:reloaded', done);
sails.emit('hook:orm:reload');
});
+0
Penso che questo funzioni anche con altri database. Funziona con mongodb. – paulodiovani
Problemi correlati
- 1. Come eliminare da un database?
- 2. Eliminare l'evidenziazione delle icone
- 3. Eliminare tutte le funzioni dal database Postgres
- 4. Come eliminare un database RavenDB con Raven.Client.Lightweight
- 5. Rails 4: Come eliminare o rimuovere (unire) le tabelle delle tabelle dal database?
- 6. Il controllo delle righe interessate conta dopo l'azione del database (inserire, aggiornare, eliminare) l'overkill?
- 7. Impossibile eliminare cookie con delle AngularJS $ biscotti
- 8. memorizzazione delle immagini su un database
- 9. Ottimizzazione delle chiamate al database
- 10. database di utilizzo delle parole?
- 11. Aggiornamento delle informazioni nel database
- 12. Come eliminare tutte le tabelle in un database MySQL?
- 13. come eliminare tutti i database tranne alcuni in postgres
- 14. non è possibile eliminare Amazon RDS SQL Server Database
- 15. Come eliminare dal database in tempo reale di Firebase?
- 16. Eliminare e ricreare i database in Microsoft SQL Server
- 17. HowTo eliminare Database ConnectionStrings memorizzati in Visual Studio?
- 18. errore cercando di eliminare l'account del database schema utente
- 19. Come posso eliminare un database MongoDB usando PyMongo?
- 20. Come eliminare il database mysql tramite il comando shell
- 21. Come eliminare tabelle e database utilizzando Sqiltehelper in Android
- 22. Google App Engine continua a eliminare il mio database locale
- 23. Come posso eliminare o creare un database da clojure.java.jdbc?
- 24. Come eliminare il database (localdb) se il file è scomparso
- 25. Impossibile eliminare il database a causa di carattere non valido
- 26. Come posso eliminare un database MongoDB dalla riga di comando?
- 27. Come eliminare un oggetto da Realm Database Android?
- 28. Buono schema per eliminare il file di database in SQLiteOpenHelper.onDowngrade()
- 29. Il log delle transazioni per il database 'database' è pieno.
- 30. Utilizzo delle migrazioni per eliminare la tabella con chiave esterna
Nessuna necessità di 'migrate: drop'; l'adattatore di memoria si avvia sempre di nuovo! – sgress454
@ sgress454 buono a sapersi :) – Victor
Mi ero chiesto: quanto è costosa l'operazione di sollevamento? Al momento ho solo pochi test, ma man mano che il numero di test cresce, mi chiedo se il sovraccarico si sommi a una suite di test a funzionamento lento. Qual è la tua esperienza? Grazie! – HolySamosa