为了账号安全,请及时绑定邮箱和手机立即绑定

最终方法模拟

最终方法模拟

子衿沉夜 2019-11-02 14:17:43
我需要使用嘲笑用最终方法模拟某些类。我写了这样的东西@Testpublic void test() {    B b = mock(B.class);    doReturn("bar called").when(b).bar();       assertEquals("must be \"overrided\"", "bar called", b.bar());    //bla-bla}class B {    public final String bar() {        return "fail";    }}但是失败了。我尝试了一些“ hack”,并且有效。   @Test   public void hackTest() {        class NewB extends B {            public String barForTest() {                return bar();            }        }        NewB b = mock(NewB.class);        doReturn("bar called").when(b).barForTest();        assertEquals("must be \"overrided\"", "bar called", b.barForTest());    }它有效,但“闻起来”。那么,正确的方法在哪里?谢谢。
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 694 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信