2008-12-20 13 views

Odpowiedz

25

Odpowiedzią która ewoluowała w ciągu ostatnich kilku lat jest nie stosować TDD do GUI, zaprojektować GUI w taki sposób, że istnieje warstwa pod Tobą, którą możesz rozwijać dzięki TDD. Gui jest zredukowana do trywialnego mapowania kontrolek do ViewModel, często z wiązaniami szkieletowymi, a więc jest ignorowana dla TDD.

Znany jest różnie jako architektura Presentation Model (Fowler) Model-View-ViewModel i DataModel-View-ViewModel.

To podejście usuwa warstwę GUI z TDD i testów jednostkowych. Nie oznacza to, że GUI nigdy nie jest testowany, ale przyznaje, że nie jest opłacalne prowadzenie automatycznych testów GUI, szczególnie w ramach TDD. Integracja i testowanie użytkowników powinny obejmować GUI.

Josh Smith's 2009 WPF article to szczegółowe wyjaśnienie MVVM z kilkoma testami.

Niedawno Houssem Dellai na 2016 video Creating Unit Tests for Xamarin Forms Apps pokazuje XAML UI z oprawionego ViewModel i spacery po utworzeniu projektu badanej jednostki

+0

Świetna odpowiedź, dzięki. Zauważ jednak, że link do "dobrych dyskusji" jest prawie bezużyteczny - wskazuje na wyszukiwanie dla ViewModel, który jest obszernym obszarem obejmującym ogromną liczbę dyskusji, które nie mają nic wspólnego z TDD. Będą przydatne linki do konkretnych dyskusji. W ciągu ostatnich kilku dni intensywnie zajmowałem się tym tematem i niestety nie ma zbyt wielu dyskusji na ten temat. –

+2

Kiedy napisałem swoją odpowiedź, 8 lat temu, to wyszukiwanie było naprawdę dobre, ale było trochę głupio oczekiwać, że tak pozostanie. –

Powiązane problemy