Tôi chỉ mới bắt đầu với số junit
và vấn đề đầu tiên tôi gặp phải là, làm cách nào để thử nghiệm các phân đoạn?Làm thế nào để chạy thử nghiệm trên một đoạn hoạt động
Hoạt động đang được thử nghiệm có 1 đoạn là bố cục chính.
@Override
protected void setUp() throws Exception {
super.setUp();
Intent intent = new Intent(getInstrumentation().getTargetContext(),
ActivityWelcome.class);
startActivity(intent, null, null);
FragmentManager fragmentManager = getActivity().getSupportFragmentManager();
mFragmentWelcome = (FragmentWelcome) fragmentManager.findFragmentByTag(FragmentWelcome.TAG);
if (mFragmentWelcome == null) {
mFragmentWelcome= FragmentWelcome.newInstance();
fragmentManager
.beginTransaction()
.replace(android.R.id.content, mFragmentWelcome, FragmentWelcome.TAG)
.commit();
}
}
sau đó tôi tiếp tục kiểm tra việc bố trí:
@SmallTest
public void testLayout() {
ImageButton buttonImage = (ImageButton) getActivity().findViewById(my.package.R.id.button_invites);
assertNotNull(buttonImage);
assertEquals("ImageButton Invite has an invalid drawable"
, getActivity().getResources().getDrawable(my.package.R.drawable.light_social_invite)
, buttonImage);
}
Lỗi:
java.lang.NullPointerException
at my.package.test.ActivityWelcomeUnitTest.testLayout(ActivityWelcomeUnitTest.java:55)
at java.lang.reflect.Method.invokeNative(Native Method)
at android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:214)
at android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:199)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:545)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1551)
nó không thành công trên:
ImageButton buttonImage = (ImageButton) mFragmentWelcome.getView().findViewById(my.package.R.id.button_invites);
Tôi không chắc chắn lý do tại sao mảnh là null, tôi rõ ràng là thực hiện thao tác này incorr ectly, ai đó có thể xin vui lòng khai sáng cho tôi?
Làm thế nào bạn quản lý để chạy thử nghiệm đơn vị. Trong studio android, tôi đang nhận được con trỏ ẩn rỗng tại 'Intent intent = new Intent (getInstrumentation(). GetTargetContext(), ActivityWelcome.class);' TestClass của tôi đang mở rộng 'ActivityUnitTestCase' –