yesraaj
yesraaj

Reputation: 47910

How to apply Test Driven development for GUI application(VC MFC)?

Can I use TDD for gui application? How to do it.

Upvotes: 19

Views: 8857

Answers (3)

Andy Dent
Andy Dent

Reputation: 17969

The answer which has evolved over the last few years is, you don't apply TDD to the GUI, you design the GUI in such as way that there's a layer just underneath you can develop with TDD. The Gui is reduced to a trivial mapping of controls to the ViewModel, often with framework bindings, and so is ignored for TDD.

This is known variously as the Presentation Model (Fowler) the Model-View-ViewModel and DataModel-View-ViewModel architecture.

This approach removes the GUI layer from TDD and unit testing. It does not mean the GUI is never tested but just acknowledges that it is not cost effective to pursue automated GUI testing, particularly as part of TDD. Integration and user testing should cover the GUI.

Josh Smith's 2009 WPF article is a detailed explanation of MVVM with some testing.

More recently, Houssem Dellai's 2016 video Creating Unit Tests for Xamarin Forms Apps shows a XAML UI with bound ViewModel and walks through creating a unit test project

Upvotes: 33

Leah
Leah

Reputation: 3342

Chad Myers has a nice walk through testing the controller:

http://www.chadmyers.com/Blog/archive/2007/11/27/tdd-with-asp.net-mvc-3.5-extensions.aspx

Upvotes: 1

Adeel Ansari
Adeel Ansari

Reputation: 39907

Why not. Here is a good article, from object mentor.

Found another blog post, TDD - Introduction to Moq. Its related to C# and VB.NET.

Checking out Myth and Misconception regarding TDD is a must.

Here is a book related to .NET, TDD in Microsoft .NET.

Upvotes: 5

Related Questions