J'essaie de vérifier que les extras spécifiques sont ajoutés à l'intention, mais tout le temps je reçois null pour l'intention dans l'unité de test Android. J'ai la classe suivante qui ont besoin d'être testé:Intention extras dans l'unité de test Android Mockito
public class TestClass extends SomeNotifier {
private Intent mIntent = new Intent("testintent");
public TestClassConstructor(Context context) {
super(context);
}
@Override
public void notifyChange() {
mIntent.putExtra("Key one", 22);
mIntent.putExtra("Key two", 23);
mIntent.putExtra("Key three", 24);
getContext().sendBroadcast(mIntent);
}
}
Et le test est la suivante (j'ai essayé avec mockIntent aussi bien, mais le résultat est le même, encore une fois les extras sont nuls):
@RunWith(MockitoJUnitRunner.class)
public class TestClassTest {
@Mock
Context mMockContext;
@Test
public void sendBroadcastTest() {
ArgumentCaptor<Intent> argument = ArgumentCaptor.forClass(Intent.class);
TestClass testClassNotifier = new TestClass (mMockContext);
testClassNotifier.notifyChange();
verify(mMockContext).sendBroadcast(argument.capture());
Intent intent = argument.getValue();
//THE INTENT IS NULL
Assert.assertTrue(intent.hasExtra("Key one"));
}
}
Avez-vous une suggestion à faire pour que ce test fonctionne? Merci d'avance