Come testare i controller in un'applicazione REST

1

Sto scrivendo un backend di API REST in NODE js, che si basa sull'approccio MVC. Le mie vie API colpiscono direttamente i controller, che a loro volta importano modelli che sono un wrapper attorno ai metodi di una libreria (DB ORM) chiamata sequelize.

Quale sarà l'approccio migliore per scrivere i test unitari per i controller,

  1. Per includere modelli, con dati DB fittizi, in test unitari dei rispettivi controllori
  2. In qualche modo prendi in giro i modelli e poi collaudi i miei controller senza coinvolgere affatto i modelli reali.

Se il secondo approccio è migliore, come raggiungerò la scrittura di questi tipi di test unitari

    
posta Anshul Sahni 20.06.2018 - 21:46
fonte

1 risposta

3

La solita saggezza per le architetture MVC è questa:

  1. Spingi il più possibile la logica dalla vista possibile.
  2. Spingere il più possibile la logica del controller nel modello il più possibile.

In pratica, questo rende i modelli grassi, i controller sottili e l'interfaccia utente che è semplicemente un'area di superficie con cui l'utente può interagire.

Ciò significa che dal punto di vista dei test non ci dovrebbe essere molta logica nel controller da testare. Il controller dovrebbe agire principalmente come "switch-yard". Per la maggior parte, i test di integrazione ti diranno se i tuoi controller funzionano normalmente.

Ciò significa che la stragrande maggioranza dei test unitari sarà focalizzata sul Modello, in cui ti occuperai principalmente di semplici classi.

    
risposta data 20.06.2018 - 23:09
fonte

Leggi altre domande sui tag