特定のエキストラがインテントに追加されていることを確認しようとしていますが、ユニットインテントのインテントのAndroidでnullを取得するたびに発生します。私は、テストする必要があり、次のクラスがあります。単体テストのインテントエキストラ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);
}
}
を、テストは次のとおりです(私もmockIntentてみましたが、結果は同じであり、再びエキストラがnull):
@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"));
}
}
このテストを動作させるにはどうすればよいですか? 事前