Details
-
Task
-
Status: Closed
-
Major
-
Resolution: Won't Fix
-
None
-
None
-
None
-
None
Description
We should introduce PowerMock into our unit tests so that we don't have to expose methods intended to be used by unit tests.
Here was Benoit's reply to a user of asynchbase about testability:
OpenTSDB has unit tests that are mocking out HBaseClient just fine
[1]. You can mock out pretty much anything on the JVM: final,
private, JDK stuff, etc. All you need is the right tools. I've been
very happy with PowerMock. It supports Mockito and EasyMock.
I've never been keen on mutilating public interfaces for the sake of
testing. With tools like PowerMock, we can keep the public APIs tidy
while mocking and overriding anything, even in the most private guts
of the classes.
[1] https://github.com/stumbleupon/opentsdb/blob/master/src/uid/TestUniqueId.java#L66