Java 使用Mockito模拟自定义对象

Java 使用Mockito模拟自定义对象,java,junit,mockito,Java,Junit,Mockito,我使用Mockito来模拟一些自定义对象,但我假设它并不是我想要做的。它抛出NPE。我想知道这是否是模拟对象的正确方法 测试中的代码 ITransformer transformer = new SendDocumentsRESTTransformer(); ITransformerResult result = transformer.transformRequest(args); JUnit测试用例 private ITransformer transformer; @Before pu

我使用Mockito来模拟一些自定义对象,但我假设它并不是我想要做的。它抛出NPE。我想知道这是否是模拟对象的正确方法

测试中的代码

ITransformer transformer = new SendDocumentsRESTTransformer();
ITransformerResult result = transformer.transformRequest(args);
JUnit测试用例

private ITransformer transformer;

@Before
public void setUP(){
  transformer = mock(ITransformer.class);
}

@Test
public void testSendDocuments() throws Exception {
    AppContext.setApplicationContext( applicationContext );

    DocusignRESTProvider docusignRestProvider = new DocusignRESTProvider();
    docusignRestProvider.setLoggingHandler( iloggingHandler );
    docusignRestProvider.setDocumentManager( iDocumentManager );
    docusignRestProvider.setConfiguration( iProviderConfiguration );

    iClientUserDto.setActive( Boolean.TRUE );
    iClientUserDto.setUserName( "GW_SYS_USER" );
    iClientUserDto.setPassword( "GWPASSWORD" );

    when( args.getClientUserDto()).thenReturn( iClientUserDto );
    when( transformer.transformRequest(args)).thenReturn( transformerResult );

    docusignRestProvider.sendDocuments( iClientUserDto, iDocumentSet );

你打算做什么?具体问题是什么?有例外吗?我刚刚编辑了我的问题。它抛出NPE,我假设模拟机制不起作用。哪一行导致了问题?这里的
args
是什么?如果你要在它上面调用
,它需要是一个mock。事实上,我怀疑问题是你的测试代码正在生成一个新的
ITransformer
,而不是使用mock的。您确实需要以某种方式注入模拟的
ITransformer
。如果是这样的话,我可以给你一些想法。