Showing posts with label VS2012. Show all posts
Showing posts with label VS2012. Show all posts

Thursday, November 22, 2012

Microsoft Fakes Bait and Switch?

Is it possible Microsoft tricked developers into adopting their code isolation framework in an attempt to force upgrades to the Ultimate version of Visual Studio 2012?

When I first learned about the Moles framework from Microsoft Research, I was excited at the possibilities for unit testing and began presenting it at user groups and conferences. I was even more excited after Microsoft announced that a new version of this framework, named Fakes, would be included with Visual Studio 11 (now 2012).

Microsoft's documentation originally indicated that Fakes would be included with both Premium and Ultimate, but early adopters noticed the VS2012 Premium release candidate did not include Fakes and the documentation was later updated to indicate it would only ship with Ultimate.

Meanwhile, Moles is no longer supported in VS2012. So where does this leave those who adopted Moles and use the Premium version of Visual Studio? It appears they will be forced to upgrade to Ultimate or abandon the use of Microsoft's code isolation framework.

I choose to give Microsoft the benefit of the doubt. I'm sure the original intention was to ship Fakes with the same versions as were previously compatible with Moles. Discontinuing Moles made sense when a new-and-improved framework was slated to take it's place. The decision to restrict the use of Fakes to Ultimate was surely made without considering the ramifications to their existing customers.

The question remains of what, if anything, Microsoft will do to address the needs of those customers that have been left out in the cold.

Monday, September 24, 2012

Memphis .NET User Group (MNUG)

Last week I mentioned that I'll be speaking at the NE Arkansas .NET User Group on the 27th. Since then, we've arranged for that presentation to be broadcast via Live Meeting and the Memphis .NET User Group will be joining us live. Someone local will monitor the meeting chat room and relay any questions or comments from the online participants.

UPDATE:
If you attended this talk and would like to provide feedback, you can do so at SpeakerRate.com.

Monday, September 17, 2012

NE Arkansas .NET User Group

I'm scheduled to speak at the Northeast Arkansas .NET User Group on September 27, 2012. The topic of this talk will be Testing the Untestable with Microsoft Visual Studio 2012 Fakes. I've given this same talk several times at regional conferences and user groups and an overview can be found on my blog, however one great thing about speaking at local groups like this is that the audience helps direct the session and we often end up focusing on areas that are most useful to that particular group.

While anyone is welcome to show up, the group leader has requested that attendees RSVP so they have an idea of how many to expect. See you there!

UPDATE:
If you attended this talk and would like to provide feedback, you can do so at SpeakerRate.com.

Tuesday, May 8, 2012

Testing the Untestable with VS2012 Fakes

One of the new features included with Visual Studio 2012 is the Fakes Framework which offers the ability to detour code at runtime and isolate functionality for true unit testing, regardless of whether the code was written with testing in mind.

I began speaking on Fakes back when it was a beta product from Microsoft Research called Moles. While the core functionality remains the same, Microsoft has streamlined the implementation and now calls the detour mechanism a shim rather than a mole.

If you have attended this or another of my talks at a user group or conference, please take a moment to share your feedback on SpeakerRate.

The PowerPoint is available on SlideShare and below are links to the code demonstrated in the presentation.

Demos
Y2K Checker (simple introduction)
DateTime Audit (avoiding non-deterministic tests)
File Reader (shimming file system access)
Repository (stubbing interfaces)

Resources
Visual Studio 2011
Fakes MSDN Documentation