java 自定义警告_java - 重写方法IntelliJ上的自定义警告注释 - 堆栈内存溢出

在我的项目中,我有一个基本方法,我不希望用户覆盖。 然而,我无法将此方法设为final或private,因为我使用mockito来验证该方法是否被调用以进行测试,并且我们无法在项目中使用power mock。 有没有办法制作一个自定义注释,警告其他开发人员,如果他们试图覆盖所述方法? 代码示例如下:

public abstract class BaseActivity {

public void superOnResume() {

super.onResume();

}

public void superOnPause() {

super.onPause();

}

}

public class ChildActivity extends BaseActivity {

@Override

public void onPause(){

superOnPause();

}

@Override

public void onResume(){

superOnResume();

}

//Warning annotation needed here!

public void superOnPause(){

super.onPause();

}

}

假测试示例:

@RunWith(MockitoJUnitRunner.class)

public class ChildActivityTest {

ChildActivity childActivity;

@Before

public void setUp() throws Exception {

childActivity = spy(new ChildActivity());

}

@Test

public void testOnPause() {

doNothing().when(childActivity).superOnPause();

childActivity.onPause();

verify(childActivity).superOnPause();

}

以下代码允许我测试活动中的onResume / Pause方法。 问题是有很多类扩展了baseActivity。 如果有人意外创建/覆盖超级OnPause / onResume,它将在运行时调用无限循环。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值