Quindi ho un backend REST (in node.js o Java non importa ma l'esempio è in js).
Cerco di avere un servizio per ogni endpoint in modo che l'endpoint / utenti abbia due file:
usersRouter.js che include gli endpoint del router con codice di esempio:
router.get('/users/:username',function(req,res,next){
return userService.find(username);
}
userService.js
function find(username) { //do some database stuff here }
Penso che le best practice richiedano di testare tutti i metodi della tua app con entrambe le unità testando il servizio e l'integrazione testando l'endpoint.
È davvero necessario in questo caso? Se l'endpoint chiama solo un metodo, potrei testare solo questo con tutti gli scenari disponibili.
Un lato negativo sarebbe che la funzione ha più opzioni che non sono utilizzate dall'endpoint e potrebbero essere utilizzate da un altro endpoint / funzione, ma è troppo per testare quasi la stessa cosa due volte?