2017-01-31 9 views
1

私はすでにGithubとこのプロジェクトもJenkinsに接続するために私のプロジェクトに接続しているのに加えて、SQL ServerのDBとソースコントロール "Redgate"を既に持っています。ユニットテストJenkins

私が必要とするのは、私がすでにクエリを取得しているような、テーブル上で何らかの単位テストを行うことです。このクエリに値を渡します。

しかし、私はそれがジェンキンスによって行われる必要があります。それを行う可能な方法はありますか? YESの場合は、POWERSHELLと何か関係がありますか?

私は何が必要なのか分かっているので混乱しています。私はツールを持っていますが、構造はわかりません。

ユニットテストを実行する方法と方法と、DBで開発した全員にユニットテストをプッシュする方法。

答えて

0

あなたはそこにいくつかの疑問を持っています。それらのほとんどを試してみましょう。

  1. 私はジェンキンスがそれらを解析することができますので出力は、XMLにつながること(つまり、Invoke-SqlCmdを使用します)テストを作成するためにせがむPowerShellのモジュールを使用すると思います。
  2. dbテストは、Jenkinsがあなたの食べ物、C#テスト、Pythonテスト、PowerShellテストなどを実行できるように、好きな言語で実行することができます。あなたは使うつもりです。
  3. 私は本当にあなたが何を意味するか分からない:「DB上で開発するすべての人にそれを押し付ける方法」。

これは私がPowerShellを使用しテストを実行するために持っていたもので、ジェンキンスはそれらを消費します:

$tests = Invoke-Pester -OutputFormat NUnitXml -OutputFile tests.xml -PassThru 
if ($tests.FailedCount -eq 0) { Remove-AzureRmResourceGroup -ResourceGroupName $rgName -Force } 
1

データベースでユニットテストを行うには、私はtSQLt frameworkをお勧めします。使用方法についてはquick start guideをご覧ください。

既にRedgateのSQLソースコントロールのライセンスを取得している場合、他の製品のライセンスもある可能性があります.SQLテストと呼ばれるものがあり、SQL Server Management Studio 。

Jenkins内で単体テストを実行する場合は、RedgateのDLM Automation製品のライセンスも持っているかどうかを確認してください。これは、データベースの継続的な統合と配信を自動化するためのPowershellコマンドレットのセットです。存在する単体テスト。 http://www.red-gate.com/products/dlm/dlm-automation/resources/

- https://plugins.jenkins.io/redgate-sql-ci

それを使用する方法についてここではいくつかの良い動画もあります - 幸いにもそれのために利用できるジェンキンスプラグインがあります

関連する問題