是否可以在 SQL Agent 中自动执行 `EXEC tSQLt.RunAll`?

Is it possible to automate `EXEC tSQLt.RunAll` in SQL Agent?

我遵循了 tSQLt 中的示例,并成功地为我的 SQL 服务器数据库创建了单元测试和集成测试。我知道 Redgate 销售用于自动化 tSQLt 单元和集成测试的 DevOps 工具,但我没有那么多钱。

我的免费想法是 运行 按计划执行 SQL 代理任务。使用命令 EXEC tSQLt.RunAll; 创建 T-SQL 作业步骤非常简单。虽然我已将 SQL 代理配置为在作业步骤失败时向我发送电子邮件,但我不知道在 运行 执行 EXEC tSQLt.RunAll; 步骤时代理如何知道我是否有任何失败的测试,并且提醒我。

没有什么可以阻止我手动 运行 进行这些测试,但我真的很想使它们自动化,这样我就可以专注于其他事情。

有没有人能够使用 SQL Agent 做到这一点或达到类似的结果?

正如 Martin Smith 指出的那样,如果任何测试失败或 运行 进入异常,tSQLt 会在执行结束时引发错误。整个过程中的任何错误都会被捕获,因此您将始终获得完整的 运行.

代理允许您捕获输出,因此您将能够看到失败的内容。