2008-12-20 3 views

Répondre

25

La réponse qui a évolué au cours des dernières années est, vous ne sont pas applicables TDD à l'interface graphique, vous concevez la GUI de telle sorte qu'il y a une couche juste en dessous de vous peut développer avec TDD. Le Gui est réduit à un mappage trivial de contrôles au ViewModel, souvent avec des liaisons de structure, et est donc ignoré pour TDD.

Ceci est connu sous le nom d'architecture Presentation Model (Fowler) Model-View-ViewModel et DataModel-View-ViewModel.

Cette approche supprime la couche GUI de TDD et de test unitaire. Cela ne signifie pas que le GUI n'est jamais testé, mais reconnaît simplement qu'il n'est pas rentable de poursuivre les tests GUI automatisés, en particulier dans le cadre de TDD. L'intégration et les tests utilisateur doivent couvrir l'interface graphique.

Josh Smith's 2009 WPF article est une explication détaillée de MVVM avec quelques tests.

Plus récemment, Houssem 2016 video Creating Unit Tests for Xamarin Forms Apps de Dellai montre une interface utilisateur XAML avec ViewModel lié et promenades à travers la création d'un projet de test unitaire

+0

de Grande réponse, merci. Notez, cependant, que le lien vers de «bonnes discussions» est pratiquement inutile - il pointe vers une recherche de ViewModel qui est une zone massive qui inclut un grand nombre de discussions qui n'ont rien à voir avec TDD. Des liens vers des discussions spécifiques seraient utiles. J'ai creusé ce sujet au cours des derniers jours et il y a malheureusement peu de discussions sur ce sujet. –

+2

Quand j'ai écrit ma réponse, il y a 8 ans, cette recherche était en effet une bonne, mais c'était un peu bête de s'attendre à ce que ça reste comme ça. –

Questions connexes