При использовании intended(IntentMatcher)
из API эспрессо Android можно сделать это дважды в одном и том же мероприятии?Можно ли проверить второй счетчик эспрессо-намерений после получения результата от первого?
Так, например, я нажимаю кнопку, которая запускает действие для результата. Я проверяю, что эта активность была запущена с использованием intended(IntentMatcher)
. Это работает.
Однако, когда я получаю результат, я хочу снять намерение для другого действия. В этом случае только локальная активность в том же пакете приложений без результата.
Когда я делаю это вручную в приложении, он отлично работает, но Espresso не может обнаружить второе намерение в моем тесте. Что мне не хватает, или это невозможно? В качестве альтернативы, как должен Я делаю это? Может быть, мой дизайн плох.
Когда я делаю чек я пытаюсь это:
intended(toPackage(<packageName>));
intended(hasComponent(hasClassName(<className>)));
Первые матчи линии, но не второй один. И даже если вторая строка не совсем корректна, она никогда не показывает ничего в журнале ошибок о втором действии, которое я действительно начинаю.
Еще одна вещь, добавляющая к путанице, состоит в том, что два намерения, безусловно, уволены, поскольку это показывает, что в журнале. Оба они кажутся одними и теми же, но с немного разными деталями - один представляет собой пакет, один из которых является компонентом. Записывает ли он результат от первого намерения как намерения сам по себе? Звучит маловероятно, но откуда это другое намерение? Я знаю, что это не вторая работа, которую я запускаю, поскольку она по-прежнему срабатывает, даже когда эта активность не вызывается (когда первый результат выполнения - это сбой).
Я также считал, что, возможно, он не обнаруживается, потому что он не ждет достаточно долго, чтобы упустить второе намерение. Если бы это было так, что бы я сделал? Я не вижу много разговоров о том, как обрабатывать чувствительные к времени вещи в Espresso. Подобно проверке, отображается ли индикатор выполнения, но затем снова скрывается, не нажимая ничего. Как ты это делаешь? Возможно, это тот же ответ.
Любая помощь оценена!