是否可以在 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 会在执行结束时引发错误。整个过程中的任何错误都会被捕获,因此您将始终获得完整的 运行.
代理允许您捕获输出,因此您将能够看到失败的内容。
我遵循了 tSQLt 中的示例,并成功地为我的 SQL 服务器数据库创建了单元测试和集成测试。我知道 Redgate 销售用于自动化 tSQLt 单元和集成测试的 DevOps 工具,但我没有那么多钱。
我的免费想法是 运行 按计划执行 SQL 代理任务。使用命令 EXEC tSQLt.RunAll;
创建 T-SQL 作业步骤非常简单。虽然我已将 SQL 代理配置为在作业步骤失败时向我发送电子邮件,但我不知道在 运行 执行 EXEC tSQLt.RunAll;
步骤时代理如何知道我是否有任何失败的测试,并且提醒我。
没有什么可以阻止我手动 运行 进行这些测试,但我真的很想使它们自动化,这样我就可以专注于其他事情。
有没有人能够使用 SQL Agent 做到这一点或达到类似的结果?
正如 Martin Smith 指出的那样,如果任何测试失败或 运行 进入异常,tSQLt 会在执行结束时引发错误。整个过程中的任何错误都会被捕获,因此您将始终获得完整的 运行.
代理允许您捕获输出,因此您将能够看到失败的内容。