September 20, 2014
Hot Topics:
RSS RSS feed Download our iPhone app

Introducing Visual Studio Team System 2008 Database Unit Testing

  • July 14, 2008
  • 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



Comment and Contribute

 


(Maximum characters: 1200). You have characters left.

 

 


Sitemap | Contact Us

Rocket Fuel