Ruw*_*han 6 java junit android android-testing android-espresso
如何在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");
}
}
Run Code Online (Sandbox Code Playgroud)
在android测试类中,我可以做类似的事情:
@Rule public CustomActivityTestRule<MainActivity> mainActivityActivityTestRule = new
CustomActivityTestRule<MainActivity>(MainActivity.class, new CustomActivityTestRule.onBeforeListener() {
@Override
public void onBefore(String message) {
//do something before activity starts
}
});
Run Code Online (Sandbox Code Playgroud)
同样,它可以在junit规则实例化上执行某些操作.有没有其他方法可以监听junit测试规则实例化?
您可以在beforeActivityLaunched
不创建新类的情况下覆盖.
我在测试中使用以下内容:
@Rule
public ActivityTestRule<MainActivity> mainActivityActivityTestRule = new ActivityTestRule<MainActivity>(MainActivity.class) {
@Override
protected void beforeActivityLaunched() {
super.beforeActivityLaunched();
}
};
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1742 次 |
最近记录: |