我想在我的应用程序中测试以下流程:
我想用浓缩咖啡来测试这个流程。我想我必须使用有意或有意1但我不知道如何检查意图是否是ZXing以及如何回到应用程序。
答案 0 :(得分:2)
使用espresso-intents的一般流程如下:
intending(X).respondWith(Y)
以设置模拟。intended(Z)
以验证模拟是否已收到预期的意图。X和Z可以是相同的,但我倾向于使X尽可能一般化(例如只匹配组件名称),并使Z更具体(检查额外值等)。
e.g。对于ZXing,我可能会这样做(警告:我还没有测试过这段代码!):
Intents.intending(hasAction("com.google.zxing.client.android.SCAN"); // Match any ZXing scan intent
onView(withId(R.id.qr_scan_button).perform(click()); // I expect this to launch the ZXing QR scanner
Intents.intended(Matchers.allOf(
hasAction("com.google.zxing.client.android.SCAN"),
hasExtra("SCAN_MODE", "QR_CODE_MODE"))); // Also matchs the specific extras I'm expecting