如何在android測試中監聽ActivityTestRule'sbeforeActivityLaunched()方法。如何在Android測試中監聽Android ActivityTestRule的beforeActivityLaunched方法
我的解決方法是創建一個自定義ActivityTestRule並在構造函數上提供回調。這是不好的做法嗎?同樣的方法可以聽ActivityTestRule構造函數方法。
這裏是我的代碼:
public class CustomActivityTestRule<A extends Activity> extends ActivityTestRule<A> {
public interface onBeforeListener{
void onBefore(String message);
}
private onBeforeListener listener;
public CustomActivityTestRule(Class<A> activityClass, onBeforeListener listener) {
super(activityClass);
}
@Override
protected void beforeActivityLaunched() {
super.beforeActivityLaunched();
listener.onBefore("before activity launch");
}
}
在Android的測試類,我可以這樣做:它是能夠做到JUnit的規則實例化的東西
@Rule public CustomActivityTestRule<MainActivity> mainActivityActivityTestRule = new
CustomActivityTestRule<MainActivity>(MainActivity.class, new CustomActivityTestRule.onBeforeListener() {
@Override
public void onBefore(String message) {
//do something before activity starts
}
});
同樣的方式。有沒有其他方法來聽取junit測試規則實例化?