gpt4 book ai didi

java - 有没有办法提取方法中使用的实例和静态变量,以了解需要模拟哪些对象

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:34:27 25 4
gpt4 key购买 nike

我正在开发涉及 Mockito 的 JUnit 测试用例。

在很多情况下,方法中会使用大量实例变量和静态变量。

手动检查方法中的所有代码行以了解需要模拟的对象,以获得更高层次的理解是非常乏味的。

我想知道是否有更简单的方法来提取方法中使用的实例和静态变量。我也是 JUnit 和 Mockito 的新手。谢谢。

最佳答案

你得出了错误的结论。

您发现为生产代码编写良好的单元测试很难 - 因为它包含太多需要模拟的东西。

您想通过某种方式自动模拟可能阻止您的生产代码在单元测试设置中运行的所有内容来解决这个问题。

错误的方法:您正在尝试解决症状

根本原因很可能是您编写了难以测试的生产代码。答案是:花时间和精力学习如何编写易于测试的生产代码。从这些开始 videos例如。

您知道,您的生产代码包含的任何类或方法都应该遵守单一职责原则。仅此一项就会促使您使用包含最少 数量“外部依赖项”的生产代码。

除此之外:了解使用 static 基本上是好的 OOP 中的异常。当然,它有它的位置——但是一旦“X 是静态的”转化为“X 破坏了我的单元测试”,你又犯错了。任何破坏您对某些东西进行单元测试的能力的 static 的使用都清楚地表明您应该再次修复您的设计。

关于java - 有没有办法提取方法中使用的实例和静态变量,以了解需要模拟哪些对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45980751/

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