gpt4 book ai didi

java - 如何在单独的进程中运行 JUnit 测试?

转载 作者:搜寻专家 更新时间:2023-11-01 03:10:16 35 4
gpt4 key购买 nike

我有 2 个使用 JUnit 实现的集成测试。这两个测试都执行对远程服务器的调用,服务器目标由环境变量配置:

System.setProperty("property", "value1");

棘手的是,对于 2 个测试,这些属性必须不同。如果我为每个单元测试设置环境变量,它就不起作用,因为我们使用的中间件在第一次调用时缓存属性值并且不再评估它(对于第二次测试)。

我认为解决方案可能是在单独的进程中运行这些单元测试。看到类似的讨论here ,但也许有更优雅的方式来使用 JUnit4 执行此操作?这个问题看起来很常见。或者也许还有其他方法可以使用不同的配置运行单元测试?

提前感谢您的任何建议。

最佳答案

拥有无法在测试之间重置的状态被认为是不好的做法。虽然不易测试的代码很常见,但解决方案并不简单。

我会考虑重置缓存值,即使您已使用反射来执行此操作。确切需要重置的内容取决于库的内部表示。

关于java - 如何在单独的进程中运行 JUnit 测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12245806/

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