2015-09-24 19 views
7

Le classi del modello devono essere testate?Le classi del modello devono essere testate?

Le classi del modello non contengono la logica, ma di solito contiene alcune regole nel costruttore per l'inizializzazione.

Queste classi sono anche condivise, quindi è molto importante che queste classi inizializzino correttamente.

Qual è lo standard per il test, se le classi di modelli devono essere testate? O la classe che li usa ha la responsabilità di testarli?

risposta

2

Il punto è classi di modelli dovrebbe contenere tutta la logica, in base al modello di progettazione Model-View-Controller. Ricorda -

Viste più sottili, controller sottili, modelli di grasso.

Tutorial

Così, da quel principio di ogni logica di business dovrebbe essere contenuto nei modelli. In tal modo, i modelli dovrebbero essere accuratamente testati. Inoltre, i dati sono il componente più importante in qualsiasi progetto web. In tal modo, assicurando che i modelli abbiano convalide sufficienti e non consentano che i dati indesiderati in db siano estremamente cruciali.

Ecco cosa dice MVC. Anche se sono d'accordo sul fatto che provare ad adattare tutto in costrutti MVC è un antipattern molto comune. Un approccio ancora migliore sarebbe quello di utilizzare classi distinte per mantenere la logica aziendale che non rientra in alcun costrutto MVC, sebbene debbano essere incapsulati anche nei modelli.

Inoltre, per quanto riguarda i test è generale, credo che qualsiasi pezzo di codice funzionante dovrebbe avere una suite di test atleast modest per loro. I test sono specifiche di lavoro del codice o piuttosto dovrebbero essere. Guidano qualcun altro su cosa sta facendo il tuo codice, come cambiarlo senza rompere nulla.

Nota: - Non testare le librerie se cioè non testare il codice Django o mongoengine

+0

Atleast dire perché mi sono meritato un downvote? – hspandher

+0

potresti citare quel mantra per dargli un po 'più di credibilità (non sono il downvoter, quindi questo non si applica alla tua domanda sul downvote). –

+0

C'è spesso una differenza tra la logica di dominio che fa parte del modello di livello e i modelli di dominio che fanno parte del livello del modello. Spesso non vuoi accoppiarli troppo da vicino. – mason

0

Se vi preoccupate se il codice funziona o no, dovrebbe essere testato. Questo vale per tutto il codice.

Dato che se il codice del modello viene esercitato quando si eseguono altri test, potrebbe non essere necessario effettuare test specifici per i propri modelli. Tuttavia, i test sono relativamente economici da scrivere e potenzialmente pagano grandi dividendi, quindi non c'è motivo di non scrivere alcuni test rapidi per i tuoi modelli.

-2

No.

Tale test forniscono poco o nessun valore come sarà la creazione di istanze di modello in altri test, per i componenti che lavorano con/uso ha detto modelli. Pertanto, non sono necessari test di modello dedicati perché verranno testati indirettamente molte, molte volte.

Problemi correlati