Unit testing support is one of the most requested features for CodeRush and Mark Miller and his IDE team are hard at work on it right now. They've made great progress so I'm able to share a sneak peek with you today.
Mark wanted me to make it clear that this "Test Runner" sneak peek is very early and unfinished functionality so he and the IDE team could change any aspect of what you're about to see.
Test Runner In-source UI: More cowbell
The Test Runner consists of two parts:
- a tool window
- an in-editor UI
Take a look at this preview screenshot of the in-editor UI (click the image to see a larger version):
Stay tuned – we’ll show you the Test Runner’s tool window in a future post.
If you work with NUnit then look closely at the method names and their attributes in the screenshot. Note that even the sophisticated attribute combinations using ExpectedMessage and MatchType (combinations that challenge some other unnamed test runners) are properly evaluated by the CodeRush Test Runner.
Run Test Cases
Run test cases by Ctrl+Clicking the test icon next to the test method's attributes in the editor. Keyboard shortcuts also supported.
Or run test cases from the Test Runner. We’ll post more info on the tool window UI in future posts.
Test Framework Support (so far)
The CodeRush Test Runner currently supports:
- VS Test (Visual Studio’s built-in testing framework – MSDN Walkthrough)
- MbUnit – Generative unit test framework for .NET
- nUnit - Unit-testing framework for all .Net languages
- Any other .NET testing framework (just about), more on this below…
The top three frameworks have built-in support by the CodeRush Test Runner and not by an external plugin. This gives you the advantage that the IDE team will support your questions, comments, and, of course, suggestions when using any of these three frameworks!
Extensibility is a big advantage for you. It allows you to create/edit/distribute plugins. Extensibility also creates a great ecosystem to interact and share with other developers using CodeRush.
Extensibility is one of the key features for CodeRush which is built on top of the DXCore framework. In fact, CodeRush’s extensible architecture already has a ton of great plugins available. Check out the full list of free and useful plugins on the google code site: http://code.google.com/p/dxcorecommunityplugins/wiki/PluginResources
And extensibility is also a major feature of the Test Runner. You can extend the Test Runner to support virtually any .NET testing framework using the DXCore extensibility engine.
Awesome, When Can I Get It?
The IDE team is planning to release early versions of this feature in the near future. And the CodeRush Test Runner is planned for a full release later this year in the DXperience 2009 volume 3 release.
The upcoming Test Runner looks to be a game changer for many people who’ve been anticipating this announcement. What do you think? Drop me a line below with your thoughts.
DXperience is a royalty-free tool suite for rapid business application development for WinForms and ASP.NET apps.
Instantly enhance your WinForms and ASP.NET apps by dropping in new feature sets encapsulated in components. DXperience contains:
- IDE Productivity Tools - Make Visual Studio easier and more effective with IDE enhancements
- DXCore - IDE tools extensible engine
- CodeRush - Extensible swiss army knife of tools to make source code editing faster and easier, including code editing templates, code editing utilities (selection, navigation, clipboard), inline code visualizations and the upcoming unit test runner.
- Refactor Pro - Code editing tools specifically geared for refactoring source code.
- XAF - Business app framework for WinForms and ASP.NET
- XPO – Object-relational mapping for .NET
- Reporting - Reporting "platform" for WinForms and ASP.NET
- UI Components for WinForms, ASP.NET, WPF and Silverlight
Try a fully-functional version of DXperience for free now: http://www.devexpress.com/Downloads/NET/