2015-09-24 11 views
7

Czy należy testować klasy modelu?Czy należy testować klasy modelu?

Klasy modeli nie zawierają logiki, ale zwykle zawierają pewną logikę w konstruktorze w celu zainicjowania.

Te klasy są również udostępniane, dlatego bardzo ważne jest, że te klasy są poprawnie inicjowane.

Jaki jest standard testowania, czy należy testować klasy modelu? Czy klasa, która z nich korzysta, ma obowiązek ich przetestować?

Odpowiedz

2

Punktem są klasy modelu powinien być zawierać całą logikę, zgodnie ze wzorcem projektowym Widok-kontroler. Pamiętaj -

Cieńsze widoki, cienkie kontrolery, modele tłuszczu.

Tutorial

Tak, wszystko przez tą zasadą logiki biznesowej powinny być zawarte w modelach. W związku z tym modele należy dokładnie przetestować. Poza tym dane są najważniejszym elementem każdego projektu internetowego. Tym samym zapewnienie, że modele mają wystarczającą walidację i nie pozwalają na niepotrzebne dane do db jest niezwykle ważne.

Tak mówi MVC. Chociaż zgadzam się, że próba dopasowania wszystkiego do konstrukcji MVC jest bardzo popularnym antypaplanetem. Jeszcze lepszym podejściem byłoby użycie różnych klas w celu utrzymania logiki biznesowej, która nie należy do żadnych konstrukcji MVC, chociaż muszą one być również w modelach enkapsulowane.

Poza tym, o ile testowanie jest ogólne, uważam, że każdy działający fragment kodu powinien mieć dla nich co najmniej skromny zestaw testów. Testy są pracy specyfikacje kodu, a raczej powinny być. Prowadzą one trochę inne informacje na temat tego, co robi Twój kod, jak go zmienić bez przerywania czegokolwiek.

Uwaga: - Nie przetestować swoje biblioteki chociaż to nie przetestować kod django lub mongoengine

+0

Najmniejszy powód, dla którego zasługiwałem na awans? – hspandher

+0

możesz chcieć zacytować tę mantrę, aby nadać jej nieco więcej wiarygodności (nie jestem tym odźwiernym, więc to nie dotyczy twojego pytania o upadek). –

+0

Często występuje różnica między logiką domeny, która jest częścią warstwy modelu i modelami domen, które są częścią warstwy modelu. Często nie chcesz zbytnio ich łączyć. – mason

0

Jeśli zależy czy kod działa, czy nie, powinny być testowane. Dotyczy to całego kodu.

Biorąc pod uwagę, że jeśli podczas wykonywania innych testów zostanie wprowadzony kod modelu, może nie być konieczne wykonanie testów specyficznych dla danego modelu. Testy są jednak stosunkowo tanie w pisaniu i potencjalnie opłacają duże dywidendy, więc nie ma powodu, aby nie pisać kilku szybkich testów dla swoich modeli.

-2

nr

Takie testy dostarczają niewiele ma wartości jak będzie stworzenie modelu wystąpień w innych testach, komponentów, które pracują z/użycie powiedział modeli. W związku z tym nie potrzebujesz dedykowanych testów modeli, ponieważ będą one testowane pośrednio wiele, wiele razy.

Powiązane problemy