使用Teamcity集成配置SQL测试

nan*_*erd 1 sql-server teamcity unit-testing redgate tsqlt

我正在使用SQL Test在SQL Server中创建一些单元测试.我与Teamcity集成,因此在构建时,它会自动运行tSQLt测试.

问题是我们计划为所有商店推销创建数百个单元测试.并且我们不想在每次检入代码时运行所有单元测试,并且Teamcity运行构建+运行所有单元测试.

有没有办法将集成构建配置为仅运行已签入的新单元测试.我是否需要为此创建自定义脚本?我似乎找不到开箱即用的方法.

或者是在没有Teamcity自动运行tSQLt单元测试的情况下检查的实用解决方案?因此,只需在DEV服务器上手动运行新的测试用例(签入后)?这个的扩展是每晚运行批处理以运行所有单元测试.

And*_*rew 5

是否有特殊原因导致您不希望每次签入时都在构建服务器上运行所有测试?

我正在进行的项目中有超过1000个tSQLt测试,另有3000个代码测试.我们所有的测试都会在每次办理登机手续时运行.

我不再使用SQL Test来编写我的tSQLt测试了,因为我已将数据库单元测试集成到我的Visual Studio项目中.我有一个T4模板,它围绕我的tSQLt测试创建NUnit包装器,就我的构建服务器而言,它只是在运行tSQLt单元测试时运行一组常规NUnit测试.这意味着我可以使用NUnit类别等来控制在构建服务器上运行哪些测试以及何时应该运行它们(即每次只在夜间构建期间),如果我选择的话.

有关我如何执行此操作的示例,请参阅(https://github.com/chilli-andrew/).这可能不适合您的工作流程,但值得一看有关如何使用tSQLt的不同观点.