January 27, 2021
Hot Topics:

Introducing Visual Studio Team System 2008 Database Unit Testing

  • By Jeffrey Juday
  • Send Email »
  • More Articles »

A database unit test can be quite sophisticated. Later in the article, I'll show you how to include data in your test. More advanced testing scenarios, though, are beyond the scope of this article.

Once you complete the configuration information the Database Unit test will look much like the test shown in Figure 7.

Click here for a larger image.

Figure 7: Empty Database Unit Test

Like Unit Testing with other types of projects, you write Database Unit Tests in the same language you use for development. In the Database Unit Test, the development language is TSQL.

Most likely, you'll need to operate on some data to execute your tests. So, before I develop the Unit Test, I'm going to create some sample data and later incorporate the data in the Unit Test.

Creating Sample Data

Tests often must be repeated with the same data. Therefore, a Database Unit Test needs a way to repeatedly load the same data. So, first I'll create a Data Generation Plan and then wire the Data to the Database testing project.

Data Generation Plan creation happens inside the Database Development project. Again, select the "Add Items" option on the Database Project. The dialog shown in Figure 8 appears.

Click here for a larger image.

Figure 8: Add Data Generation Plan

The initial Data Generation plan appears in Figure 9.

Click here for a larger image.

Figure 9: Data Generation Plan

My demonstration focuses on the AWBuildVerion table, so I'm deselecting all but the AWBuildVersion table and the ErrorLog table. Although I'm not initially loading data into the ErrorLog, I'm including it in the plan so that a purge data option I'll select later removes all data from the table before running the test.

Deselected tables are not removed until currently selected tables dependent on the deselected table are in turn deselected. The behavior looks very much like Figure 10.

Figure 10: Deselect tables

Page 3 of 5

This article was originally published on July 14, 2008

Enterprise Development Update

Don't miss an article. Subscribe to our newsletter below.

Thanks for your registration, follow us on our social networks to keep up-to-date