// Test that certain functionality was called @Test public void buttonShouldDoSomethingCrazy() throws Exception { button.performClick(); assertTrue(activity.conditionWasMet); } // Mock class class TestNewActivity extends NewActivity { protected boolean conditionWasMet = false; @Override protected void doSomethingCrazy() { conditionWasMet = true; } } // Original class public class NewActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.new_activity); View button = findViewById(R.id.crazy_button); button.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { doSomethingCrazy(); } }); } protected void doSomethingCrazy() {} }