tSQLtフレームワークまたは関連付けられた単体テストを実稼働環境に展開しないでください。
あなたが探している解決策は複合プロジェクトです。おそらくあなたのソリューションには、すでにMyDbというコードがすべて入ったデータベースプロジェクトがあります。同じソリューションに別のデータベースプロジェクトを追加する必要があります。名前は重要ではありませんが、このMyDb.testsを呼び出すことができます。この2番目のデータベースは、tSQLtフレームワークとすべてのテストを保持します。これは、ステップバイステップの非常に速いです:
- がサンドボックス上MyDb.testsと呼ばれる空のデータベースを作成し、Visual Studioでこのデータベース
- にtSQLtフレームワーク を追加し、MyDb.testsからtSQLtオブジェクトをインポートソリューションの新しいMyDb.testsデータベースプロジェクト に追加します。あるいは、 は、tSQLtデータベースのdacpacを作成し、それを参照することができます。 個人的には、インポートするときに、私は通常 スキーマでオブジェクトをグループ化することを選択します。そうすることで、プロジェクトをテストクラスでうまく並べ替えます。
- まだVisual Studioで、MyDb.testsに "master"へのデータベース参照を追加し、ソリューション内のMyDbデータベース プロジェクトに別のデータベース参照を追加します。同一のサーバーを指定してください(同じ データベース)。に続き、MyDb.testsにテストを追加し始め、MyDbに生産コードを書き出します。
- MyDb.Testsをサンドボックスにビルドまたは公開すると、得られる データベースには、tSQLtフレームワーク、テスト、およびMyDbの オブジェクトとコードがすべて含まれます。
- MyDb.testsでは、
tSQLt.RunAll
への呼び出しを含む の展開後スクリプトを追加して、MyDb.testsプロジェクトを再公開するたびにすべてのテストが で実行されるようにすることもできます。
UDAまたはプロダクションをテストするためにデプロイすると、MyDbプロジェクトからビルドして公開するだけで、tSQLtフレームワークまたはテストは含まれません。
これより、それまでもう少しあります - あなたはSSMSで開発することを好む場合は特に当時のVisual Studioにではなく、ここで、あなたのオブジェクトをインポート助けるかもしれないリンクのカップルです:
https://kzhendev.wordpress.com/2014/01/08/setting-up-ssdt-database-projects-and-tsqlt/
は、
https://www.red-gate.com/simple-talk/sql/sql-tools/sql-server-data-tools-ssdt-and-database-references/
TFS SQLまたはSSDTプロジェクト(ビジュアルスタジオのシンプルなデータベースプロジェクト)についてお話ししていますか?私はTFS SQLが何を意味するのかよくわかりません... –
これはSSDTプロジェクト(Visual Studioでデータベースプロジェクト)です。 –
@datacentricityは正しい答えをすでに得ました –