跳转至内容

Android/Testing/Unit Testing/委派 Finals

来自维基教科书,开放世界开放书籍

'showDialog()' 等方法是 final 的,且无法覆盖。虽然 Robolectric 提供了一种可让你更改其实现的方法,但有时使用一个更简单的模式更方便 - 扩展受测类并覆盖新的非 final 方法

public class MyActivity extends Activity {

   public void onResume(Bundle bundle) {
      Intent intent = getIntent();
      int id = selectDialog(intent);
      boolean result = nonFinalShowDialog(id, bundle);
   }

   public boolean nonFinalShowDialog(int id, Bundle bundle) {
      return showDialog(id, bundle);
   }
}
华夏公益教科书