gpt4 book ai didi

android - Espresso : test startActivityForResult return RESULT_OK

转载 作者:行者123 更新时间:2023-11-29 01:32:47 24 4
gpt4 key购买 nike

我有一个 Android 应用程序需要身份验证才能使用。随着项目的发展,我想在我的应用程序中添加单元测试。

为此,我使用 Espresso 2.1

事情是:

  1. 我的 LoginActivitystartActivityForResult 调用
  2. 显示表格
  3. 一个。如果凭据错误,它会保留在 LoginActivity
  4. b。如果凭据没问题,它会结束并返回RESULT_OK

所以在我的espresso 测试课中,我有一些单元测试。 not ok 情况下一切正常,问题出在ok 情况下。

我需要检查结果是否为 RESULT_OK,但是当 Activity 完成时,espresso 失败了

android.support.test.espresso.NoActivityResumedException: No activities in stage RESUMED. Did you forget to launch the activity. (test.getActivity() or similar)?

这是我的问题:

  • 有没有办法测试 ActivitysetResult
  • 是否有解决方法(我不想使用它们中的任何一个,但至少......)能够对其进行测试?

我读过有关 Espresso-Intents 的内容但我想不出一个例子来说明如何启动我自己的包的 Activity 并检查结果是 RESULT_OK

最佳答案

非常简短的回答:

  • 是的,可以通过以下方式设置结果

    Intent resultData = new Intent();
    resultData.setData(...);
    Instrumentation.ActivityResult result = new Instrumentation.ActivityResult(Activity.RESULT_OK, resultData);
    intending(toPackage("package.containing.login.activity")).respondWith(result);

您可以通过检查其中一个 View 是否包含所需的返回信息来评估是否已收到 RESULT_OK。如果这还不够清楚,请在评论中发表任何问题,我们会尽力提供帮助。

how I can start an activity of my own package

用户会怎么做?可能是通过单击按钮或任何其他 View 交互,对吗?

关于android - Espresso : test startActivityForResult return RESULT_OK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30309091/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com