2012-08-27 67 views

回答

1

不知道你正在寻找什么“方式”。许多人同时使用Mockito和Powermock,我还没有听到任何有关不兼容或冲突的恐怖故事。在需要模拟静态方法的情况下使用Powermock,你应该没问题。

或者重构为不以需要嘲笑的方式使用静态方法。

1

不,我认为没有任何办法与我的PowerMock做到这一点。

但是你可以通过引入adapter来打破对这种静态方法的依赖。

5

可能的解决方法是在我认为的实际实例中封装静态方法。或静态方法背后的真实实例。

虽然这意味着您将不得不修改您的生产代码。老实说,如果你现在问自己这个问题,你在开发过程中太迟地测试你的代码。 (现在传播;))如果您正在练习TDD,那么您应该早早就注意到了这个问题,并且早期调整了您的设计,并使用经典测试软件进行了全面测试。

我个人在练习TDD时使用“疼痛指标”来看我的设计是否正常。当然,一切都取决于上下文,但通常这是良好设计的一个很好的指标(至少对于我和其他人来说)。

所以我的建议摆脱这些静态方法或修改您的设计不依赖于静态方法嘲讽。

干杯

+4

+1为“摆脱这些静态方法”。静态方法是可测试性的噩梦;避免它们会使代码的质量变得更加轻松。 –

相关问题