Это дубликат этого вопроса. Есть куча похожих вопросов/ответов, но ни один из них не помог мне. Поскольку сотни разработчиков приняли некоторые ответы, я, вероятно, где -то ошибаюсь и понятия не имею, где моя проблема! Полем < /p>
final class NavigationBuilder {
@VisibleForTesting List mIntentList = new ArrayList(5);
@VisibleForTesting
void addNextScreenBasedOnBookingStatus(final Booking booking) {
final ChatMsgDbAsyncHelper helper = new ChatMsgDbAsyncHelper();
if (booking == null) {
helper.cleanAllMessages(mContext); //
Это мой тестовый класс: < /p>
@RunWith(PowerMockRunner.class)
@PrepareForTest({ChatMsgDbAsyncHelper.class, SplashActivity.class})
public class NavigationBuilderTest {
private SplashActivity mActivity;
private NavigationBuilder mNavBuilder;
@Before
public void setUp() throws Exception {
mActivity = new SplashActivity();
ISplashView view = mock(ISplashView.class);
PassengerStorage passengerStorage = mock(PassengerStorage.class);
mNavBuilder = new NavigationBuilder(mActivity, view, passengerStorage);
}
@Test
public void addNextScreenBasedOnBookingStatus_whenBookingIsNull() throws Exception {
ChatMsgDbAsyncHelper spy = PowerMockito.spy(new ChatMsgDbAsyncHelper());
PowerMockito.doNothing().when(spy).cleanAllMessages(mActivity);
mNavBuilder.addNextScreenBasedOnBookingStatus(null);
assertTrue(mNavBuilder.mIntentList.isEmpty());
}
}
Тест не удастся, и причиной является nullpointerexception Поскольку тест запускает логику внутри helper.cleanallmessages (mcontext); . Мое ожидание сверху надлично нельзя выполнять. xxx.xxx.db.entitiety.chatmessagetable. (Chatmessagetable.java:23)
Это дубликат этого вопроса. Есть куча похожих вопросов/ответов, но ни один из них не помог мне. Поскольку сотни разработчиков приняли некоторые ответы, я, вероятно, где -то ошибаюсь и понятия не имею, где моя проблема! Полем < /p>
[code]final class NavigationBuilder {
@VisibleForTesting List mIntentList = new ArrayList(5);
@VisibleForTesting void addNextScreenBasedOnBookingStatus(final Booking booking) { final ChatMsgDbAsyncHelper helper = new ChatMsgDbAsyncHelper();
if (booking == null) { helper.cleanAllMessages(mContext); //
Это мой тестовый класс: < /p>
@RunWith(PowerMockRunner.class) @PrepareForTest({ChatMsgDbAsyncHelper.class, SplashActivity.class}) public class NavigationBuilderTest {
Тест не удастся, и причиной является nullpointerexception Поскольку тест запускает логику внутри helper.cleanallmessages (mcontext); . Мое ожидание сверху надлично нельзя выполнять. xxx.xxx.db.entitiety.chatmessagetable. (Chatmessagetable.java:23)