2017-02-03 5 views
0

При использовании intended(IntentMatcher) из API эспрессо Android можно сделать это дважды в одном и том же мероприятии?Можно ли проверить второй счетчик эспрессо-намерений после получения результата от первого?

Так, например, я нажимаю кнопку, которая запускает действие для результата. Я проверяю, что эта активность была запущена с использованием intended(IntentMatcher). Это работает.

Однако, когда я получаю результат, я хочу снять намерение для другого действия. В этом случае только локальная активность в том же пакете приложений без результата.

Когда я делаю это вручную в приложении, он отлично работает, но Espresso не может обнаружить второе намерение в моем тесте. Что мне не хватает, или это невозможно? В качестве альтернативы, как должен Я делаю это? Может быть, мой дизайн плох.

Когда я делаю чек я пытаюсь это:

intended(toPackage(<packageName>)); 
intended(hasComponent(hasClassName(<className>))); 

Первые матчи линии, но не второй один. И даже если вторая строка не совсем корректна, она никогда не показывает ничего в журнале ошибок о втором действии, которое я действительно начинаю.

Еще одна вещь, добавляющая к путанице, состоит в том, что два намерения, безусловно, уволены, поскольку это показывает, что в журнале. Оба они кажутся одними и теми же, но с немного разными деталями - один представляет собой пакет, один из которых является компонентом. Записывает ли он результат от первого намерения как намерения сам по себе? Звучит маловероятно, но откуда это другое намерение? Я знаю, что это не вторая работа, которую я запускаю, поскольку она по-прежнему срабатывает, даже когда эта активность не вызывается (когда первый результат выполнения - это сбой).

Я также считал, что, возможно, он не обнаруживается, потому что он не ждет достаточно долго, чтобы упустить второе намерение. Если бы это было так, что бы я сделал? Я не вижу много разговоров о том, как обрабатывать чувствительные к времени вещи в Espresso. Подобно проверке, отображается ли индикатор выполнения, но затем снова скрывается, не нажимая ничего. Как ты это делаешь? Возможно, это тот же ответ.

Любая помощь оценена!

ответ

1

Хорошо, я нашел проблему. Мой IdlingResource не работал.

После фиксации, что он работает как шарм :)