AbstractAndroidTestRunner should override invokeTestMethod() so beforeTest() and afterTest() run at the right times.
diff --git a/src/com/xtremelabs/droidsugar/AbstractAndroidTestRunner.java b/src/com/xtremelabs/droidsugar/AbstractAndroidTestRunner.java
index 56a1648..13cdec3 100644
--- a/src/com/xtremelabs/droidsugar/AbstractAndroidTestRunner.java
+++ b/src/com/xtremelabs/droidsugar/AbstractAndroidTestRunner.java
@@ -1,5 +1,7 @@
 package com.xtremelabs.droidsugar;
 
+import java.lang.reflect.Method;
+
 import org.junit.internal.runners.JUnit4ClassRunner;
 import org.junit.runner.notification.RunNotifier;
 
@@ -18,10 +20,10 @@
     }
 
     @Override
-    public void run(RunNotifier notifier) {
+    protected void invokeTestMethod(Method method, RunNotifier notifier) {
         if (classHandler != null) classHandler.beforeTest();
 
-        super.run(notifier);
+        super.invokeTestMethod(method, notifier);
 
         if (classHandler != null) classHandler.afterTest();
     }