[
https://issues.apache.org/jira/browse/HADOOP-7537?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13089714#comment-13089714
]
Luke Lu commented on HADOOP-7537:
---------------------------------
bq. It requires mocking the constructor of InetSocketAddress.
Instead of introducing PowerMock, which can lead to test failures in unrelated
tests. How about just introduce an InetSocketAddress factory? In this
particular case, what you really want to control is the DNS resolution. How
about just introduce a NodeNameResolver interface and a DefaultNodeNameResolver
singleton to manage the resolver (so you can use a test resolver to supply
mocks)?
If we find that we need to do too many such exercises, we'd better off using a
complete (but still lightweight) DI solution like Guice (which can be
introduced into our code incrementally), which is already a maven dependency in
our code base :)
> Add PowerMock for the development of better tests
> -------------------------------------------------
>
> Key: HADOOP-7537
> URL: https://issues.apache.org/jira/browse/HADOOP-7537
> Project: Hadoop Common
> Issue Type: Improvement
> Components: build
> Affects Versions: 0.23.0
> Reporter: Kihwal Lee
> Assignee: Kihwal Lee
> Priority: Minor
> Fix For: 0.23.0
>
> Attachments: powermock.patch
>
>
> We already have Mockito, but PowerMock extends its capabilties so that we can
> mock constructors and static methods. I find that it is extremely difficult,
> if not impossible, to properly test some of the low-level features without
> this.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira