And*_*ite 7 java testing junit mocking
我需要测试一些依赖于Spring Security的安全相关类.此代码使用的SecurityContextHolder.getContext()是静态的.如何在不设置整个安全上下文的情况下测试调用方法?
SecurityContextHolder.getContext()
我们正在使用JUnit 4和Mockito.Mockito在常见问题解答中非常清楚,静态方法不受支持.还有其他选择吗?Spring Security案例的答案很好,但我正在寻找更普遍问题的解决方案.
sko*_*rks 7
看看PowerMock,它将允许你模拟静态方法,构造函数,并做各种其他你通常无法用java做的疯狂事情.它集成了大多数模拟库,包括mockito(例如,请查看http://code.google.com/p/powermock/wiki/MockitoUsage13).
一般来说,我发现这是一个非常有用的库,可以在你的测试工具箱中(编码java时).唯一需要注意的是,由于这个库可以使用你的字节码,如果你有其他库进行字节码检测/操作,你可能会遇到麻烦,但在你尝试之前你不会知道.
Con*_*ner 5
您可以参考以下问题并注入org.springframework.security.core.context.SecurityContextHolderStrategy实例自Spring Security 3.0以来可用的功能.
org.springframework.security.core.context.SecurityContextHolderStrategy
归档时间:
14 年,9 月 前
查看次数:
1302 次
最近记录: