Come ottenere il riferimento di Attività prima che il suo onCreate venga chiamato. mentre è sotto test. Io uso ActivityTestRule come regola JUnit. La ragione di questo requisito è che voglio iniettare Mock in attività dai test.Come ottenere il riferimento attività prima che il suo oncreate venga chiamato durante i test
public class MyActivity extends Activity{
MyComponent myComponent;
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
if(myComponent==null){
myComponent ... //initialise dagger component
}
myComponent.inject(this);
...
}
public void setComponent(MyComponent comp){
this.myComponent = comp;
}
}
public class MyTest{
@Rule
public ActivityTestRule<MyActivity> intentsTestRule = new ActivityTestRule<>(MyActivity.class);
MyComponent myFakeComponent;
@Before
public void setUp() {
MyActivity activity = intentsTestRule.getActivity();
activity.setComponent(myFakeComponent);
}
@Test
public void testMethod1(){...}
}
Usi 'Dagger'?Se sì, dove inizializzi i moduli di Dagger? – eleven
Lo faccio in setUp() –