Change History

vbUnit3 Product Description

  • Do you know with certainty that all features of your product are working? Even those features that nobody has looked at in ages?
  • Are you confident to let new people in the team make changes to your code base? And to touch the code you inherited from someone else?
  • Do you have precise, unambiguous definitions of your programming goals? Along with metrics of how many of these goals have been met?
  • Would you dare to make a last-minute change to fix a problem you just discovered?
  • Do you frequently refactor your code to make the design cleaner? Without the fear of breaking anything?
  • Are your developers testing their code? All of it? After each little change?

If you are using vbUnit3, the answer to all these questions should be "Yes". vbUnit3 aims to make unit testing an integral part of the development process. It is especially designed to offer seamless integration of design, testing, and coding, with rapid turnaround cycles between these steps. Instead of manually testing a new piece of code just once when it is written, you write an automated test that will stay with your project forever. After changing or adding a piece of code, you run all tests for the whole project, so that you will immediately know if everything still works.

This style of development will greatly improve the quality of your product and reduce development time as well, since it makes the coding requirements much more explicit and prevents many bugs that would cost time later on.

vbUnit3 has a test creation API that is very powerful, yet simple to use. With predefined project and class templates, it is very easy to set up a new test harness. The vbUnit3 framework uses Java-like reflections to extract all methods of a test class, so you just type in new test methods, and vbUnit3 will automatically find them.

The vbUnit3 TestRunner is fully integrated into the Visual Basic IDE. Without leaving the IDE, you can run test suites and look at the results. If there are errors or failures, simply double-click on them to jump to the corresponding line of code. Stepping through test code is completely transparent and is as simple as using the VB debugger itself.

Test results are color-coded for quick visual feedback, and they can be exported to XML files or databases. The TestRunner can also be called from the command line, or as a COM object, so that vbUnit3 can be integrated into a wide variety of development environments.

All this makes vbUnit3 a very powerful tool that makes unit testing as easy and as comfortable as possible. It also comes with a comprehensive tutorial to help getting started with this development method. You know that every piece of code should be tested, but how do you get your developers to do it? Well, to quote an actual user of vbUnit3: "Writing tests before code is not always obvious at first, but with the help of your software it has become easy and fun as well!"

Architecture Overview

vbUnit3 consists of a Test Creation API, an Add-In for the Visual Basic IDE, and a standalone TestRunner application. The API allows to create certain configurations of objects to be tested (Test Fixtures), and to group them into Test Suites, to run them, and to collect their results. This is done with the benefit of automatic extraction of the Test Methods, and with very solid error handling. The API comes with full source code and unit tests to allow customizations for special testing requirements.

The vbUnit Add-In allows to run tests directly from within the VB IDE, and to click on test results to jump to the code location of a failed test.

The TestRunner can be called either from the vbUnit Add-In, from the command line, or as a COM object. It allows to run test suites in compiled form and in the VB debugger. It also allows to define custom export modules, for example to save test results to a logfile or to store them in XML format.