All of us use frameworks. They come from Microsoft and 3rd parties and they might even be homebrew frameworks we wrote ourselves. There comes a point when you ask yourself “what is this thing doing?” ; the question typically arises under unpleasant circumstances encountered in your application, accompanied with the expletives the framework so richly deserves.
It’s not cool or fun to write exploratory code directly into your app (but don’t we all do it anyway). What you want … ok, what I want … is a safe sandbox to explore the framework behavior. Why not explore the framework using the same test tools we are (or should be) using to test our application? We are talking integration testing here … not unit testing. But the tools for unit testing turn out to be useful just the same.
In this session, we look at how to quickly set up an MS Test environment and begin poking at the framework. We’ll explore MS Test itself this way. We’ll look at how to explore DevForce (no DevForce knowledge required) as an example of a complex framework that interacts with other frameworks (Entity Framework, SQL Server) with an eye toward getting the answers to our questions with a minimum of fuss.
We’ll learn tactics to avoid interacting with the database when we don’t really need to.
We’ll learn about running tests in isolated AppDomains to eliminate cross-test contamination from static state. We may get to explore WPF integration e.g., how a TextBox control interacts with an entity to which it is bound.
If nothing else, you’ll learn how to use MS Test and some practical approaches to writing integration tests.
FUNdamentals Series
How to build your own custom WPF or Silverlight control to work with Drag-Drop data binding in VS2010 - Beth Massi
Visual Studio 2010 gives us the RAD ability to design WPF and Silverlight data forms using drag-drop from the Data Sources window just like Windows Forms. Come see how to customize what controls are generated when you drop data properties onto your form and how to write your own controls that work with these tools.