JukitoRunner, bind mock of final class



如何绑定jukito中的最终类模拟?

例如:

public final class SomeFinalClass(){
     public SomeFinalClass(String someString){
     }
}

//测试类

@Runwith(JukitoRunner.class)
public class TestingClass(){
 @Inject
 private SomeFinalClass someFinalClassMock;
 public static class TestModule extends JukitoModule {
   @Override
    protected void configureTest() {
       // bind(SomeClient.class).in(TestSingleton.class);
    }
    @Provides
    public SomeFinalClass getSomkeFinalClass()  {
    return Mokito.mock(SomeFinalClass.class); //throws error
     }
  }
 }

有没有一种方法可以将PowerMockito与Jukitorunner使用?

,如果您使用的莫科托2。

嘲笑最终类和方法是一种孵化的选择加入功能。它结合了Java代理仪器和子类别,以实现这些类型的可见性。由于这与我们当前的机制有所不同,并且该机制具有不同的限制,并且我们想收集经验和用户反馈,因此必须明确激活此功能才能可用;可以通过创建包含单个行的文件src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker来通过Mockito扩展机制完成:mock-maker-inline

创建此文件后,Mockito将自动使用此新引擎,并且可以这样做:

final class FinalClass {
  final String finalMethod() { return "something"; }
}
FinalClass concrete = new FinalClass(); 
FinalClass mock = mock(FinalClass.class);
given(mock.finalMethod()).willReturn("not anymore");
assertThat(mock.finalMethod()).isNotEqualTo(concrete.finalMethod());

相关内容

  • 没有找到相关文章

最新更新