Mi scuso se questa domanda è già stata posta in precedenza, ho visto domande simili, ma non è affatto la stessa cosa.
Sto scrivendo un'applicazione web che utilizza le chiamate http per scrivere e leggere da un database back-end, oltre a eseguire operazioni sui dati.
Tutti i miei metodi pubblici sono sulla falsariga di:
writeToDatabase(data){
performOperationsOnData(data)
databaseHandler.connectToDatabase()
databaseHandler.insertDataToDatabase(data)
}
Vorrei testare la mia logica del metodo performOperationsOnData (), ma questo è un metodo privato, perché non deve mai essere chiamato al di fuori della classe.
Ho scritto test di integrazione, che controllano che i dati siano scritti correttamente nel database in generale, ma quando la logica è ragionevolmente complicata non voglio davvero collegarmi al database o una simulazione per ogni possibile percorso attraverso la logica.
Quale sarebbe il modo corretto per testare questa logica? Sono particolarmente interessato a scoprire se la struttura del metodo che ho mostrato dovrebbe essere fatta in modo diverso per renderla più controllabile, oppure la risposta è solo un'iniezione di derisione e dipendenza per il database?
Domande simili: