Interested in a
Personal Demo ?

Name* :
Please Enter your Name
Company E–Mail* :
Please Enter a Valid Email


We need to maintain legacy applications that were not built to facilitate unit testing. Without Typemock we would be completely unable to effectively test these applications. Typemock boosts productivity because you do not have to explicitly code from the ground up with testing in mind, which can be difficult to handle. Typemock has been able to cover up the coupling and dependency sins that we all have leaked into our applications from time to time.  
Edmund D. Gorski, President, CodePoets, Inc.
Success stories


US Toll Free
Outside US
Get your printable quote
Buy online

 Mark Michaelis on unit testing

Says Mark: "The best way to improve your code practices is to do unit testing”. 

This interview is with Mark Michaelis, the author of "Essential C#" (with a new edition coming up soon).
It was taken at the SharePoint 2009 Conference.

Mark talks about how unit testing makes it easy for new developers to start testing their application in little steps, rather than test everything. He says that unit testing increases the maintainability of your code in an order of magnitude. You than have code that lasts for years rather than couple of months.


Download Typemock Isolator - Now!

Interview Transcription

Gil:  Hi

Mark: Hey

Gil:  who are you?

Mark:  My name is Mark Michaelis

Gil: Where are you from?

Mark: I’m from Spokane, Washington, Spokane valley, Washington.

Gil: And which book did you write?

Mark: I wrote a book called “Essential C#”; I’m just finishing off “Essential C# 4.0” which is on obviously the .Net framework 4.0 and using Visual Studio tech in 2010.


Gil: That’s great. How do you like the conference here so far?

Mark: The SharePoint conference has been excellent, I’ve really appreciate the information that’s being communicated, I knew a lot of what was happening just from early betas and stuff like that and I thinks now that people are starting to see it and become aware of what’s happening. I think they’re really excited. I think there are specific things that are most exciting to me regarding the development pieces, what’s going to be happening in creating SharePoint projects ability to build WSPs automatically, the ability to debug,  hooking to windows 7 so you can go on to deploy on a work station not just on the server. There is lots of really cool stuff happing…The plug-in to visual studio, I mean to TFS, Team Foundation Server  is excellent and I’m really interested in how to use SharePoint as an application life cycle tool or to do SharePoint development with  correct best practices for application life cycle development.

Gil: Thank you. What was the…you think the best presentation so far?

Mark: Best presentation so far…

Gil: That you saw… (Chuckling)

Mark: Probably Paul Andrews intro, introduction into development is probably the one I’ve appreciated the most just because he gave a good round overview of everything that’s going to be available and from that you can break out to individual sessions and get the details on what those are going to be.

Gil: OK. What is the best advice you would give to someone who is programming in terms of code quality?

Mark: I’m saying this without any… you know…I don’t get any money from or anything like that but I honestly believe that the best way to improve code practices  is to do unit testing. I think from an application life cyclekle management process prospective or best practices I think turning on code analysis is step number one just because it’s easy and step number two is start doing something that approaches TDD or is TDD like so definitely those are thing I regard very highly. I’ve noticed that a lot of people do it with reluctance but what I see typically happen   is people take on projects or tasks that are too big and they don’t have the ability to break those tasks down and so they end up taking on “let’s go ahead and write tic-tac-toe” instead of just writing , display the board ,they go ahead and write the entire application in “tic-tac-toe” and so they’re not able to separate individual sub tasks within that and test those individual sub tasks and I think unit testing enables that capability so they can do a little piece at a time, get them working, know with confidence that it’s working and then moving on to the next piece and the ability that it gives them to refactor over  time, the ability it gives them to be secure when they make changes and  switch to  a UI that is a not a console base application but maybe Windows Forms or Windows Presentation Foundation UI, those things are just incredibly pwerful and allow you to have code that lasts for a couple of months while you remember it but should last years. I think its order of magnitude increase in your maintaining ability of your code.