Java Power Mockito无法模拟构造函数

Java Power Mockito无法模拟构造函数,java,unit-testing,ant,testng,powermockito,Java,Unit Testing,Ant,Testng,Powermockito,为了测试一些遗留代码,我必须使用powermockito。原因是遗留代码没有使用依赖项注入,并且由于某些原因,我们现在无法重构代码。我们正在系统中使用ANT运行testng。我已将build.xml配置为使用power mock和power mock testng库。我想用powermockito模拟一个构造函数,下面是示例代码 public class Something { private String arg = null; public Something() {

为了测试一些遗留代码,我必须使用powermockito。原因是遗留代码没有使用依赖项注入,并且由于某些原因,我们现在无法重构代码。我们正在系统中使用ANT运行testng。我已将build.xml配置为使用power mock和power mock testng库。我想用powermockito模拟一个构造函数,下面是示例代码

public class Something {
     private String arg = null;

     public Something() {

     }

     public Something(String _arg) {
        arg = _arg;
     }

     public String doSomething() {
         return arg;
     }
 }

public class Helper {
     public Something doSomething(String arg) {
         return new Something();
     }
}

@PrepareEverythingForTest
class TestSC {
     @Test
     public void testHelper() throws Exception {
         Something mockSomething = PowerMockito.mock(Something.class);
         PowerMockito.whenNew(Something.class).withNoArguments().thenReturn(mockSomething);

         Helper helper = new Helper();
         Something test = helper.doSomething("arg");
         Assert.assertEquals(test, mockSomething);
     }
}
这个测试失败了,我不知道这里出了什么问题。我还看到了下面用powermockito配置testng的链接

我尝试将我的测试类扩展到PowerMockTestCase,在运行测试时,它让我发现了以下错误

   [testng] [TestNG] [ERROR]
   **[testng] Error creating object factory**
   [testng] The tests failed.
我有以下疑问:-

1) 要么我的testng没有正确配置为使用powermockito,要么powermockito简单测试用例工作


2) 缺少某些配置

我最近发现了这个问题,这是因为某个依赖关系库,即javassist,非常旧。用更新的3.20版本替换它解决了这个问题,PowerMockito构造函数模拟工作正常