2

我看到一些开发人员正在使用类中的一些方法(即 getInternalState()/ setInternalStateWhitebox

我的问题是这是否是一个好习惯?我问这个是因为这个类在包中org.mockito.internal.util.reflection,通常内部包中的类不打算被外部世界使用。

4

2 回答 2

0

如果你看一下代码,这根本不是什么大问题。见这里:https ://code.google.com/p/mockito/source/browse/src/org/mockito/internal/util/reflection/Whitebox.java?r=9772247b067621ed5c3cefc356397b0bde5b89f6

如果移动了,你可以对测试代码做一个完整的替换,这个过程需要 2 分钟。如果它将以某种方式从 Mockito 中删除(我认为这不太可能),那么您可以将该类复制到您的代码中(约 50 行)。如果有任何更改,您的测试将被破坏,您会看到您需要更改它们。没有真正的机会得到隐藏的问题。

因此,如有必要,我会简单地在测试代码中使用它。

于 2013-11-17T22:50:30.047 回答
0

迟到的答案,但正如我刚刚遇到的那样:

我认为使用任何带有“内部”名称的东西都是不好的做法。

对我来说,这需要付出相当大的努力:我现在正在更新我们庞大的项目设置,并发现相当多的人已经完全使用了那个东西。

正因为如此;我无法将我们的设置升级到健全的 mockito 2.6.2;但我想我不得不使用 powermock 1.66 / mockito 2.0.42;因为有些人认为使用该内部类进行测试是“可以的”。

于 2017-01-13T16:00:37.370 回答