kkamegawa's weblog

Visual Studio,TFS,ALM,VSTS,DevOps関係のことについていろいろと書いていきます。Google Analyticsで解析を行っています

T-SQLの単体テスト

Visual Studio Team System 2008で T-SQLの単体テストをやってみよう (2/5):CodeZine
本文じゃなくてコラム。「データ生成計画について」のところ。

データ生成計画は、主キー、外部キーなどの関連や各列のデータ型を意識してデータの生成を行ってくれますが、デフォルトのままではデータそのものはまったく無意味といっていいものが生成されてきます。データ生成計画には、正規表現を利用してデータの内容をある程度絞り込んだり、他のデータベースからデータをインポートしたり、カスタムのデータジェネレータを作成して組み込んだりと言った機能が用意されているため、これらを活用して、業務などのより現実に即したデータを生成させることもできるようになっています。

そうなんですよね。Database Editionを使ってほかの業務用テストデータをランダム生成させようと思ったところ、かなり閉口しました。正規表現を使っても思うようなデータを生成してくれなくて、時間の関係上あきらめました。もうこの辺はVB ScriptやPowerShellで自分でロジック作って、データベースに格納させてそこから引っ張ってきたほうがいいです。今は。
ちなみに私はデータベースのテストデータ作る時はVB Scriptで指定したレコード数のSQLを生成するスクリプトを作ります。今はPowerShellがあるので、SQL分を生成しなくても、ADO.NETで直接流せるからいいですね。
ちなみにBlend 3にはランダムデータを生成してくれる機能が実装されますが*1、「こっちのほうがDatabase Editionよりいいなぁ」と変なところで感心しました。

*1:現在配布されているPreviewにはないはずです