| By NCSM Strategic Marketing | Article Rating: |
|
| June 3, 2011 05:00 AM EDT | Reads: |
4,174 |
This article was written by Gil Zilberfeld, Product Manager, Typemock.
The first tool you need is a testing framework. You have a couple of choices there. If you are using Microsoft Visual Studio 2008 Professional or above, you already have the Microsoft unit testing framework installed. The framework comes also with Microsoft Visual Studio 2005 Team System.
You may also decide to go with one of the open source frameworks: NUnit, MbUnit (now part of theGallio project) or xUnit. There are minor differences between the different frameworks, but the main features are the same. However, the Microsoft one also comes with a built in test runner. It allows you to run tests inside Visual studio. To achieve the same ease-of-use with the open source frameworks you will need TestDriven.Net by Jamie Cansdale.
For using the attributes and API of the different frameworks, you just need to add references to them in your test project. The Microsoft test framework has a special Test Project, the other framework uses a regular DLL container for the tests.
Mocking Framework:
The next thing you need is a mocking framework, like Isolator. Follow the steps in our quick start guide how to write the first test. You'll need to add references to Isolator DLLs.
Now for your first test: In order to make it easy, let's start by testing a component you're already working on. It's very important to integrate test writing into your regular work, and that's the first step.
In your test project, create a test class, called after your class-under-test. For example if you class is called MyClass, call the test class MyClassTests.
Writing the first unit test:
Now it's time to write a test. Decide what public method you want to test, what is the specific scenario and the expected result for that scenario. Use that information to name your test. Use the following convention:
public void METHODNAME_SCENARIO_RESULT()
Now add the content of the test. A test contains three parts:
- Arrange - setup for the test
- Act - the actual invocation of the method
- Assert - verification of pass/fail condition for the test
Make sure you use Assert functions to specify pass/failure functionality. You can also use Isolate.Verify for method calls as well, otherwise, the test will appear to have passed.
Run the test. If the test fails, add additional behavior setting statements with Isolator in the Arrange part, to make sure the test follows the specific scenario you're testing.
Did the test finally pass? Congratulations! You now can move to the next one.
Remember, the more tests you have, the better coverage you have, and your code becomes more stable.
• • •
Published June 3, 2011 Reads 4,174
Copyright © 2011 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
- Agitar Delivers Java Unit Testing Solution, Receives Nod for IBM'S RSVP
- Simple Example of Managed Extensibility Framework (MEF) in Silverlight
- Agitar Introduces AgitarOne(TM), the First Comprehensive, Integrated Unit Testing Solution for Java
- Typemock Launches Easy Unit Testing Framework for Linux
- The Importance of Unit Testing in C++
More Stories By NCSM Strategic Marketing
Lazer Cohen writes on a variety of subjects including cloud, security, telecom, HTML5, software & software testing, bug-prevention and start-up markets. You are invited to follow @NCSM_PR
- Cloud People: A Who's Who of Cloud Computing
- Windows Azure IaaS Reaches General Availability
- AMD and Adobe Collaborate on Upcoming Version of Adobe Premiere Pro Software to Enable Breakthrough Video Editing Performance Through Open Standards
- State and Local Governments Adopt Microsoft Dynamics CRM to Improve Citizen Service Delivery
- New Relic Q1 2013 Blazes Past Growth Targets and Reaches 40,000 Active Customer Accounts
- Cloud Expo New York: Deploying Hybrid Cloud for Performance and Uptime
- Predixion Software Announces General Availability of the Latest Version of its Predictive Analytics Platform
- Symphony EYC Appoints New Account Manager to Drive Global Opportunities
- Cloud Computing Is Simplifying Things
- Cloud Expo New York: Developing the World’s First IaaS Marketplace
- Session Topics: 12th Cloud Expo / Cloud Expo New York
- Cimtrek announces the general release of its Lotus Notes migrator for Microsoft’s SharePoint platform
- Cloud People: A Who's Who of Cloud Computing
- Cloud Expo New York: Best CIO Practices Shared from SHI’s Customers
- Windows Azure IaaS Reaches General Availability
- AMD and Adobe Collaborate on Upcoming Version of Adobe Premiere Pro Software to Enable Breakthrough Video Editing Performance Through Open Standards
- State and Local Governments Adopt Microsoft Dynamics CRM to Improve Citizen Service Delivery
- New Relic Q1 2013 Blazes Past Growth Targets and Reaches 40,000 Active Customer Accounts
- The PostOpen Event – Why It Is So Important
- The Cover and the Epilogue of the Upcoming Book
- Cloud Expo New York: Deploying Hybrid Cloud for Performance and Uptime
- Small Cancers, Big Data, and a Life Examined
- Predixion Software Announces General Availability of the Latest Version of its Predictive Analytics Platform
- Basho Announces Open Source Riak CS and General Availability of Riak CS Enterprise v1.3
- Google Maps and ASP.NET
- Converting VB6 to VB.NET, Part I
- How to Write High-Performance C# Code
- Crystal Reports XI & How It Has Changed
- Where Are RIA Technologies Headed in 2008?
- Creating Controls for.NET Compact Framework in Visual Studio 2005
- Programmatically Posting Data to ASP .NET Web Applications
- Implementing Tab Navigation with ASP.NET 2.0
- AJAX World RIA Conference & Expo Kicks Off in New York City
- i-Technology Viewpoint: "SOA Sucks"
- .NET Archives: Getting Reacquainted with the Father of C#
- i-Technology Photo Exclusive: Bill Gates & Steve Jobs In "Nerds"























