Java Powermock和Jmockit是否有其他方法来模拟静态和私有方法?
我试图在JDK11 Junit5环境中模拟私有的静态方法。Junit5+Powermock+JDK11不适合我。Jmockit在STS中工作,但在VSCode中不工作 有没有人能提出不同的方法来模拟Junit5和JDK11的静态和私有方法Java Powermock和Jmockit是否有其他方法来模拟静态和私有方法?,java,junit,mocking,powermock,junit5,Java,Junit,Mocking,Powermock,Junit5,我试图在JDK11 Junit5环境中模拟私有的静态方法。Junit5+Powermock+JDK11不适合我。Jmockit在STS中工作,但在VSCode中不工作 有没有人能提出不同的方法来模拟Junit5和JDK11的静态和私有方法 编辑:在我的例子中,我必须模拟静态和私有方法,因为我被要求这样做。我没有资格质疑这里的设计因为平台JUnit5允许在同一个项目中有任意数量的测试引擎,对于那些需要Powermock的测试,您可以使用JUnit4,其余的则使用Jupiter 您可能想投票支持这个
编辑:在我的例子中,我必须模拟静态和私有方法,因为我被要求这样做。我没有资格质疑这里的设计因为平台JUnit5允许在同一个项目中有任意数量的测试引擎,对于那些需要Powermock的测试,您可以使用JUnit4,其余的则使用Jupiter
您可能想投票支持这个问题:因为平台JUnit5允许在同一个项目中有任意数量的测试引擎,所以对于那些需要Powermock的测试,您可以使用JUnit4,其余的则使用Jupiter
您可能想投票支持这个问题:理想情况下,您应该有一个构建工具来运行测试,比如maven或gradel,而不依赖ide来运行测试。最好的解决方案是根本不模拟私有方法。你甚至不应该关心这些方法是否存在。这就是私有方法的含义。至于静态方法——这并不是那么糟糕,但如果您需要模拟静态方法,我会重新考虑应用程序的设计,因为很可能在某些地方缺少依赖项注入。@pavel您完全正确。这是一个糟糕的设计。但出于某种原因,我需要这样做。理想情况下,您应该有一个构建工具来运行测试,比如maven或gradel,而不依赖ide来运行测试。最好的解决方案是根本不模拟私有方法。你甚至不应该关心这些方法是否存在。这就是私有方法的含义。至于静态方法——这并不是那么糟糕,但如果您需要模拟静态方法,我会重新考虑应用程序的设计,因为很可能在某些地方缺少依赖项注入。@pavel您完全正确。这是一个糟糕的设计。但出于某种原因,我需要这么做。谢谢你的建议。不过,我已经用Jmockit完成了。谢谢你的建议。但是,我已经使用Jmockit完成了这项工作。