+1, PowerMock as far as I remember has issues with JDK-11+ as well, one such ref : https://stackoverflow.com/questions/52966897/powermock-java-11
-Ayush On Mon, 10 Jul 2023 at 20:18, Zsolt Miskolczi <zsolt.miskol...@gmail.com> wrote: > > Hi, > > Hive heavily uses PowerMock <https://powermock.github.io/>. The main > purpose of it is having static mocking. > > The sad thing is it seems PowerMock is dead: > - The main branch got it's lot commit in 2022 and and most of the > contributions last year were simple dependency upgrades: > https://github.com/powermock/powermock/commits/release/2.x > - The last release was in 2020 > - And their mailing list looks dead as well. That is the last email on that > list: https://groups.google.com/g/powermock/c/JdYY3naZlbU. It asked if it > was discontinued and didn't get an answer at all. > > So officially, it is not dead but it seems it is. > > Back then when PowerMock development started, there were no static mocking > in mockito. But since then, it is possible using mockito-inline. > > I won't lie, it is hard to switch from PowerMock: it enables some coding > patterns that are considered bad patterns and it leads to code that is > harder to test. Last year I played with it and removed it from the > hive-exec module: https://github.com/apache/hive/pull/3798. > > The hard part in removing it is that PowerMock and mockito-inline don't > work together. So when we want to remove it, we have to do it in one pull > request for a given module. It cannot be separated into smaller steps. > The good news is as it relates to testing, pre commit tests can validate > the refactor. > > What do you think? Should we move away from PowerMock or keep it as it is? > > Thank you, > Zsolt Miskolczi