我可以直接将Redgate SQL测试与teamcity集成以获得代码覆盖率吗

我可以直接将Redgate SQL测试与teamcity集成以获得代码覆盖率吗,teamcity,code-coverage,redgate,tsqlt,Teamcity,Code Coverage,Redgate,Tsqlt,我已经购买了Redgate SQL测试,我需要将其与Teamcity集成 我可以在没有Redgate的任何其他许可软件的情况下实现它。tSQLt是SQLTest使用的测试框架。它是开源的,独立于Redgate,并与Teamcity很好地集成。事实上,我过去曾在Teamcity上为tSQLt本身运行CI管道 在您喜爱的搜索引擎中搜索“tSQLt Teamcity”。您还可以使用Dave Green作为起点 但要回答您的问题:您不需要其他付费工具来实现这一点 (注意:上面的那篇文章是在SQL Cov

我已经购买了Redgate SQL测试,我需要将其与Teamcity集成


我可以在没有Redgate的任何其他许可软件的情况下实现它。

tSQLt是SQLTest使用的测试框架。它是开源的,独立于Redgate,并与Teamcity很好地集成。事实上,我过去曾在Teamcity上为tSQLt本身运行CI管道

在您喜爱的搜索引擎中搜索“tSQLt Teamcity”。您还可以使用Dave Green作为起点

但要回答您的问题:您不需要其他付费工具来实现这一点


(注意:上面的那篇文章是在SQL Cover之前写的。SQL Cover和tSQLt一样是开源的,它也可以在没有SQL测试或其他Redgate工具的情况下使用。(例如,请参阅Ed自己的文章。)有一些证据表明人们已经这样做了,比如Redgate的David,但刚才我找不到任何完整的文档。)

以下PowerShell代码显示了如何通过Redgate的SQL更改自动化驱动测试来实现这一点(摘自)。如果它说“可以使用执行代码的任何测试过程”,则可以用直接执行tSQLt.RunAll所需的PowerShell语句替换这一行

# If running your PowerShell script from a build tool, pass in these variables as parameters
$server='yourServer\instance'
$database='yourDatabase'
 
Add-Type -Path .\SQLCover.dll
$connectionString = "server=$server;initial catalog=$database;integrated security=sspi"
$coverage = new-object SQLCover.CodeCoverage($connectionString, $database, $true, $false)
 
# This starts SQLCover. It uses XEvents to monitor activity on the database.
$coverage.Start()
 
# Between the Start and Stop, the tSQLt tests are run. 
# Any testing process that exercises the code (for example, NUnit, Selenium) can be used instead.
$testResults = $connectionString | Invoke-DatabaseTests 
 
# We stop SQLCover now that we've run our tests.
$coverageResults = $coverage.Stop()
 
# Generate a basic single-page code coverage report
$coverageResults.Html() | Out-File SQLCoverResults.html