Czy mogę używać TDD do aplikacji GUI? Jak to zrobić.Jak zastosować rozwój oparty na testowaniu dla aplikacji GUI (VC MFC)?
Odpowiedz
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
Dlaczego nie. Here to dobry artykuł, od object mentor.
Znaleziono kolejny wpis na blogu, TDD - Introduction to Moq. Jest to związane z C# i VB.NET.
Wypełnienie formularza Myth and Misconception dotyczącego TDD jest koniecznością.
Oto książka powiązana z .NET, TDD in Microsoft .NET.
Chad Myers ma przyjemny spacer po testowaniu Kontroler:
http://www.chadmyers.com/Blog/archive/2007/11/27/tdd-with-asp.net-mvc-3.5-extensions.aspx
- 1. Szybki rozwój oparty na testach w Javie
- 2. Czy użycie Qt w dużej aplikacji MFC dla Windows przyspieszy rozwój?
- 3. Jak skutecznie wykorzystywać rozwój oparty na domenie w asp.net mvc4?
- 4. Rozwój oparty na testach a testowanie na pierwszym etapie
- 5. QuickStart na rozwój aplikacji Xbox 360
- 6. Rozwój oparty na testach z ASP.NET MVC - od czego zacząć?
- 7. Kawałkowa konwersja aplikacji MFC na Unicode/MBCS
- 8. menedżer układu dla aplikacji dialogowych MFC
- 9. Projektant wizualny dla natywnych aplikacji Win32
- 10. Rozwój aplikacji na telefon iPhone - kilka pytań dla początkujących
- 11. Wydajność aplikacji Qt vs. WinAPI/MFC/WTL/
- 12. jak zastosować warunek oparty niestandardowy segue w serii ujęć
- 13. obiektowe pytanie projektowe dla aplikacji GUI
- 14. Czy istnieje jakiś edytor GUI/WYSIWYG CMS oparty na Jekyll?
- 15. Scala - proces tworzenia aplikacji oparty na konsolach
- 16. Jak hostować formularz WPF w aplikacji MFC
- 17. Jak rozpocząć rozwój dla mahout
- 18. uwierzytelnianie na aplikacji GUI napisane na perl
- 19. Jak przekonwertować projekt oparty na NIB na oparty na scenorysie?
- 20. mylić o MFC/.net/WPF
- 21. Rozwój GUI Qt - Wyświetlanie siatki 2D przy użyciu QGraphicsView
- 22. getopt() w VC++
- 23. Rozwój SmartTV na początek
- 24. Czy to prawda? Rozwój oparty na technologii Adobe AIR na urządzeniach z Androidem nie ma przyszłości
- 25. W jaki sposób można wdrożyć rozwój oparty na testach przy pomocy starszego kodu?
- 26. Jak wyświetlić Matę OpenCV na MFC View
- 27. NPM postinstall tylko na rozwój
- 28. Terminal oparty na RPG
- 29. Testowanie rozwoju opartego na testowaniu, testowanie jednostki
- 30. Framework UI oparty na języku JavaScript oparty na języku JavaScript
Ś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. –
Kiedy napisałem swoją odpowiedź, 8 lat temu, to wyszukiwanie było naprawdę dobre, ale było trochę głupio oczekiwać, że tak pozostanie. –