gpt4 book ai didi

java - 在执行测试之前验证外部系统是否可用的最佳位置是什么?

转载 作者:太空宇宙 更新时间:2023-11-04 15:13:29 25 4
gpt4 key购买 nike

我们使用JUnit来执行集成测试,以及依赖外部测试系统(不一定是我们自己公司维护的)的系统集成测试。

我想知道在运行测试用例之前检查系统是否可用的代码应该放在哪里?这样我就可以确定是否存在网络或其他问题,而不是测试本身的问题。

JUnit 允许在 JUnit-Rules 中设置测试的某些部分。在规则内设置与外部系统通信的服务并对规则内的外部系统进行一些基本检查(“ping”)是一个好主意吗?或者要存储状态并在测试中使用 JUnit 假设(rule.isAvailable)以避免执行测试?

或者将此验证代码放入自定义 JUnit Runner 中会更聪明吗?

或者还有其他方法可以做到这一点吗? (只需创建一些实用程序?)

目标是在某些条件不满足时跳过测试,因为测试显然会失败。我知道这表明异常处理很糟糕,但有很多遗留代码我无法完全更改。

我尝试自己找一些文章,但似乎搜索词(“测试”、“外部系统”等)有点吃力不讨好。

谢谢!

最佳答案

考虑使用org.junit.Assume.*,如所述here 。当假设失败时,默认情况下您的测试将被忽略。当您的假设失败时,您可以编写一个自定义运行程序来执行其他操作。

但关键是,当外部服务的可用性等假设失败时,测试不会失败。

关于java - 在执行测试之前验证外部系统是否可用的最佳位置是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21098072/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com