Quando progettiamo il software, dobbiamo considerare quanto questo codice potrebbe essere testabile? per esempio, se abbiamo usato X tecnologia / Classe / Interfaccia invece di Y, basandomi su quella X può essere testato più facilmente di Y, è un buon design?
Caso d'uso: ho affrontato un problema durante la scrittura del test di integrazione del nostro software basato sulla tecnologia Spring Boot, intendiamo testare le operazioni del database inserendo i dati di test nel database e test il software basato su di essi, i problemi era che non possiamo modificare i dati in quel database, quindi ogni transazione deve essere ripristinata e JpaRepository
non può leggere le transazioni senza commit, quindi la soluzione era JpaDialect
. Supponendo che non ci siano "ovvi" inconvenienti possono derivare dall'uso di JpaDialect
.
Quanto questo sarà corretto se adottiamo JpaDialect
piuttosto che JpaRespository
perché il primo è più facile da test rispetto al secondo?