【发布时间】:2020-04-17 17:23:51
【问题描述】:
我们正在使用 TeamCity 为我们的 NodeJs 应用程序运行 cypress.io,并且一些测试由于超时而失败。这些超时似乎基于数据库 (AWS RDS) 的延迟,并且因构建而异。
我们想做的是尝试将测试覆盖率设置为 95% 的成功率,看看这是否允许构建继续。
TeamCity 中有一个选项可以运行构建步骤,无论前面的步骤是否失败,但我们希望我们的测试不要以这种方式运行。
任何建议将不胜感激。谢谢!
【问题讨论】:
我们正在使用 TeamCity 为我们的 NodeJs 应用程序运行 cypress.io,并且一些测试由于超时而失败。这些超时似乎基于数据库 (AWS RDS) 的延迟,并且因构建而异。
我们想做的是尝试将测试覆盖率设置为 95% 的成功率,看看这是否允许构建继续。
TeamCity 中有一个选项可以运行构建步骤,无论前面的步骤是否失败,但我们希望我们的测试不要以这种方式运行。
任何建议将不胜感激。谢谢!
【问题讨论】:
我们最终修改了测试,以便它们在新环境中的行为符合预期。我们还决定运行测试,因为它们是为与本地 Postgres 数据库一起运行而构建的。
我们正在处理的一个重要问题是我们的赛普拉斯测试在迁移到 RDS 数据库时非常脆弱。这些测试是为具有本地 Postgres 数据库的本地开发环境配置的,并且在 CI 环境中迁移到 RDS 会破坏它们。
我的建议是任何人设置自动化测试以确保测试在您的 CI 环境中运行,就像他们在开发中一样,而不是配置/编辑您的测试以通过 CI。
换句话说,如果您的测试在 CI 环境中中断,那么它们需要在开发环境中修复。
【讨论】: