gpt4 book ai didi

java - 有哪些方法可以测试依赖于静态方法的方法?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:07:48 24 4
gpt4 key购买 nike

我需要测试一些依赖于 Spring Security 的安全相关类。此代码使用静态的 SecurityContextHolder.getContext()。如何在不设置整个安全上下文的情况下测试调用方法?

我们将 JUnit 4 与 Mockito 结合使用。 Mockito 在它的常见问题解答中非常明确地指出不支持静态方法。有其他选择吗? Spring Security 案例的答案会很好,但我正在寻找更普遍问题的解决方案。

最佳答案

看看PowerMock它将允许您模拟静态方法、构造函数并执行您通常无法使用 Java 执行的各种其他疯狂的事情。它集成了大多数模拟库,包括 mockito(查看此处 http://code.google.com/p/powermock/wiki/MockitoUsage13 的示例)。

总的来说,我发现这是一个非常有用的库,可以放入您的测试工具箱(编写 Java 代码时)。唯一需要注意的是,由于这个库会处理您的字节码,如果您有其他库进行字节码检测/操作,您可能会遇到麻烦,但只有尝试才能知道。

关于java - 有哪些方法可以测试依赖于静态方法的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5702897/

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